向 webview 添加 userScript

本文介绍如何通过WebKit的WKUserScript接口将JavaScript代码注入到WebView中,实现对页面元素的监听和操作。添加的代码可以捕获按钮点击事件,并通过控制台输出信息,同时能够与原生环境进行消息传递。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

添加前,网页代码如下:

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

参考

转载于:https://www.cnblogs.com/huahuahu/p/xiang-webview-tian-jia-userScript.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值