iOS_JS在移动端的基本使用

l需求一在手机端显示一个远程的一个网站,(http://v3.bootcss.com)适应手机屏幕

步骤一 在storyboard中拖入一个UIWebView,并设置约束

步骤二显示页面,其实就是加载请求:在控制器中的具体实现代码如下.

@property(weak,nonatomic)IBOutletUIWebView*webView;

- (void)viewDidLoad {

[superviewDidLoad];

//创建一个请求

NSURLRequest*request = [NSURLRequestrequestWithURL:[NSURLURLWithString:@"http://v3.bootcss.com/"]];

[self.webViewloadRequest:request];//加载请求

}

l需求二在手机端去除一些不必要的广告

分析:我们只能通过JS将这些不需要的广告给删掉,这样我们就需要监听网页的加载完成,因次在OC代码中,我们需要监听webView的加载完成,那如何监听webView的加载完成呢?让控制器成为webView的代理,就可以监听webView的加载过程.也就是网页加载完毕,的代理方法:

self.webView.delegate=self;

/**

*网页加载完毕

*/

- (void)webViewDidFinishLoad:(UIWebView*)webView

{

NSString*js =@"document.getElementsByTagName('footer')[0].remove();";

//让页面调用OC中的脚本,它属于webView的一个方法,特别提醒:执行JS脚本代码仅仅只有这一种方法

[webView stringByEvaluatingJavaScriptFromString:js];

}

//关于stringByEvaluatingJavaScriptFromString的更多使用

1>JS在执行完一段代码之后会将最后一个变量值返回给我们,代码如下:

NSString*js =@"var dog = {name : 'teddy', age :

20}; dog.name; dog.age;";

NSString*result = [webView stringByEvaluatingJavaScriptFromString:js];

NSLog(@"%@",result);//结果:20字符串类型

2>当我们调完JS某个函数的时候,我们可以拿到这个函数的返回值,代码如下:

NSString*js =@"function login (username, pwd) {

return 10;} login();";

NSString*result = [webViewstringByEvaluatingJavaScriptFromString:js];

NSLog(@"%@",result);//结果:10函数的返回值

3>如何获取网页的所有源代码,实现代码如下:

NSString*js =@"document.getElementsByTagName('html')[0].outerHTML";

NSString*result = [webView stringByEvaluatingJavaScriptFromString:js];

NSLog(@"%@",result);//输出结果为网页所有的源代码

补充:document.body.innerHTML获取body内容的所有源代码

4>JS代码在OC中如何排版?

JS格式\排版第一种做法

NSMutableString*js = [NSMutableString string];

[js appendString:@"function login (username, pwd) {"];

[js appendString:@"return 10;"];

[js appendString:@"]"];

[js appendString:@"login();"];

JS格式\排版第二种做法

NSString*js =@"function login (username, pwd) {"

                                    "return 10;"

                                    "}"

                                    "login();";

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容