向 webview 添加 userScript
Posted huahuahu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了向 webview 添加 userScript相关的知识,希望对你有一定的参考价值。
添加前,网页代码如下:
<!DOCTYPE html>
<html>
<!--<script type="text/javascript">-->
<!-- function echo(str) {-->
<!-- console.log(str);-->
<!-- window.webkit.messageHandlers.testecho.postMessage("str");-->
<!--}-->
<!--</script>-->
<body>
<input type="button" onClick="echo(\'toast clicked\')" value="toast">
<input type="button" onClick="echo(\'alert clicked\')" value="Alert">
</body>
</html>
添加代码
let jsStr = """
function echo(str) {console.log(str);window.webkit.messageHandlers.testecho.postMessage("str");}
"""
let userScript = WKUserScript.init(source: jsStr, injectionTime: .atDocumentStart, forMainFrameOnly: true)
usecc.addUserScript(userScript)
添加后,网页代码如下


html 没有发生变化,但是可以看到有一个 user-script。 控制台中,也有输出。native 也可以收到回调。 
参考
以上是关于向 webview 添加 userScript的主要内容,如果未能解决你的问题,请参考以下文章
向 DynamicFolderBundle 添加额外的订购包?
有没有办法向 react.native WebView 添加导航/状态栏?
javascript [userscript] [tabelog]通过发送链接将当前商店添加到Google日历(需要修复开始/结束日期)