使用Javascript注入,用户不需要关闭或保存网页就可以改变其内容,这是在浏览器的地址栏上完成的。命令的语法如下:
javascript:alert(#command#)
uniapp引入不像vue可以直接在index.html中设置,听说可以自己创,感觉挺麻烦,遇到需要外部引入,然后获取参数的,可以用这个笨方法。1、在根创建文件夹utils,在utils下创建js test.
2、在test.js中写入
3、在pages 下的index的 index.vue引入js
4、在onload里调用
5、控制台里输出 ‘ok’。
6、引用的js在配置到全局。在mian.js中配置
7、在index.vue调用,控制台打印 ok。
由于UIWebview即将废弃,相比较于WKWebview,通过测试即可发现UIWebview占用更多内存,且内存很夸张。WKWebView网页加载速度也有提升,但是并不像内存那样提升那么多。下面列举一些其它的优势:
WKScriptMessageHandler是因为我们要处理JS调用OC方法的请求。
WKScriptMessage有两个关键属性name 和 body。
因为我们给每一个OC 方法取了一个name,那么我们就可以根据name 来区分执行不同的方法。body 中存着JS 要给OC 传的参数。
ocAddAction方法在js文件中并没有定义
实现WKNavigationDelegate协议方法,执行之后会在WKScriptMessageHandler代理方法中拦截到 ocZRAction
动态修改alert系统函数的实现,当js中调用alert函数时,触发的是我们自定义方法
URL Scheme拦截的问题,这里不做赘述,请看 demo
JS注入详情
参考链接:
链接一
链接二