iOS-UIWebView加载html5调用js方法修改内容

在iOS中操作html5的几个步骤:

  • 利用webView控件加载本地html5或者网络上html5;
  • 设置当前控制器对象为webView的代理的代理对象,并遵守协议;
  • 用类选择器或者id选择器或者标签选择器等选择要进行操作的标签;
  • 把获取到的标签转换成字符串;
  • webView调用stringByEvaluatingJavaScriptFromString方法去执行js代码;

需要加载的html文件

iOS-UIWebView加载html5调用js方法修改内容_第1张图片
html

一、加载本地的html文件

NSString *path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL fileURLWithPath:path]];
self.webView.delegate = self;
[self.webView loadRequest:request];

运行展示的初始效果:


iOS-UIWebView加载html5调用js方法修改内容_第2张图片
运行html

二、实现代理方法webViewDidFinishLoad:来操作网页

  • 删除 。 (获取id为“company”的标签,删除)
    NSString *comStr = @"var p = document.getElementById('company')";
    NSString *removeStr = @"p.remove()";
    [webView stringByEvaluatingJavaScriptFromString:comStr];
    [webView stringByEvaluatingJavaScriptFromString:removeStr];

删除之后的效果:


iOS-UIWebView加载html5调用js方法修改内容_第3张图片
删除之后的效果
  • 更改 (修改列表里面的内容)
    NSString *updateStr = @"var yx = document.getElementsByClassName('yx')[0];""yx.innerHTML = '我想去大公司';";
    [webView stringByEvaluatingJavaScriptFromString:updateStr];

更改之后的效果:


iOS-UIWebView加载html5调用js方法修改内容_第4张图片
更改之后的效果
  • 插入 (在界面中插入一张图片)
    NSString *insrtImage = @"var img = document.createElement('img');"
                            "img.src = 'ic_weather_bg.png';"
                            "img.width = '300';"
                            "img.height = '150';"
                            "document.body.appendChild(img);";
    [webView stringByEvaluatingJavaScriptFromString:insrtImage];

插入图片之后的效果:

iOS-UIWebView加载html5调用js方法修改内容_第5张图片
插入图片之后的效果
  • 修改html5里的字体大小、字体颜色、背景色
    //字体大小
    [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust = '130%'"];
    //字体颜色
    [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.webkitTextFillColor = 'red'"];
    //修改背景yanse
    [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.background = 'yellow'"];
iOS-UIWebView加载html5调用js方法修改内容_第6张图片
修改html5里的字体大小、字体颜色、背景色

至此,几个简单的方法介绍完了,感谢: https://sanwen8.cn/p/105vROg.html 的分享!

demo代码传送门:https://github.com/Baiyongyu/iOS--html5-html-.git

你可能感兴趣的:(iOS-UIWebView加载html5调用js方法修改内容)