向 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 也可以收到回调。

参考

posted on 2018-11-10 12:13  花老🐯  阅读(447)  评论(0编辑  收藏  举报

导航