向 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 添加额外的订购包?

在 WebView 中添加进度条

有没有办法向 react.native WebView 添加导航/状态栏?

javascript [userscript] [tabelog]通过发送链接将当前商店添加到Google日历(需​​要修复开始/结束日期)

如何在 PowerShell 中添加到文件中?

JavaScript 将图像嵌入为代码(对于UserScripts)