程序员iOS DeveloperiOS开发

JS与OC交互学习笔记(二)

2016-04-19  本文已影响166人  不是公主但有病

使用UIWebViewDelegate中的方法在oc中修改h5页面,- (void)webViewDidFinishLoad:(UIWebView *)webView;这个方法有个显而易见的缺陷,必须要等HTML页面完全加载完成以后才会进行交互。

首先在iOS代码中,修改HTML页面。

可以从网络上先获取一个HTML页面,建议用谷歌浏览器,右击审查元素就可以看到HTML的代码了。

第一步仍然是先写一个webView,并且加载这个页面

UIWebView *wbView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];

wbView.delegate = self;

NSURL *url = [NSURL URLWithString:@"http://www.zhaizhanggui.com.cn/index.html"];

NSURLRequest *request = [NSURLRequest requestWithURL:url];

[wbView loadRequest:request];

[self.view addSubview:wbView];

在代理方法里,对HTML页面进行修改,这里需要用到js

- (void)webViewDidFinishLoad:(UIWebView *)webView

{

NSString *title = @"var h1 = document.getElementsByTagName('h1')[0];"

"h1.innerHTML = 'hello js';";

[webView stringByEvaluatingJavaScriptFromString:title];

}

修改效果图。

上一篇下一篇

猜你喜欢

热点阅读