添加前,网页代码如下:

<!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的更多相关文章

  1. android webview 添加内置对象

    package com.android.EBrowser; import android.app.Activity;import android.graphics.Rect;import androi ...

  2. Flutter Webview添加Cookie的正确姿势

    场景 h5页面要从cookie里面取数据,所以需要在flutter webview的cookie里面塞一些数据,设置的数据多达十几条:按照网上查的使用方式来设置,通过fiddler抓包发现,只能生效一 ...

  3. Qt5.WebView.添加节点的测试代码

    1.代码: #include "mainwindow.h" #include "ui_mainwindow.h" #include <QWebFrame& ...

  4. 对所有的webview添加userAgent

    在appdelegate中- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDicti ...

  5. Android——WebView

    WebView用途 通过Intent调用系统浏览器: 引言: Uri uri = Uri.parse(url);//url为你要链接的地址 Intent intent = new Intent(Int ...

  6. android WebView介绍

    在Android手机中内置了一款高性能webkit内核浏览器,在SDK中封装成名为WebView的组件. WebView使用: (1)添加权限:AndroidManifest.xml中必须使用许可&q ...

  7. WebView加载本地Html文件并实现点击效果

    Webview是用来与前端交互的纽,可以加载本地Html文件,和网页并实现交互的功能. WebView通过WebSetting可以使用Android原生的JavascriptInterface来进行j ...

  8. 【收藏】android WebView总结

    来自:http://blog.csdn.net/chenshijun0101/article/details/7045394 浏览器控件是每个开发环境都具备的,这为马甲神功提供了用武之地,window ...

  9. android webview 介绍

    在Android手机中内置了一款高性能webkit内核浏览器,在SDK中封装成名为WebView的组件. WebView使用: (1)添加权限:AndroidManifest.xml中必须使用许可&q ...

随机推荐

  1. 向一个文件流写入一个数据块---fwrite

    函数原型:int fwrite(const void *buffer,size_t size,size_t count,FILE *stream); 参数说明:buffer:用于写入到文件的数据地址. ...

  2. jQuery Datepicker 插件遇到问题

    Datepicker ver 1.7.3  浏览更多 常用设置 //禁用今天之前时间 $(".datePicker").datepicker('option', { minDate ...

  3. delphi XE7 数组操作中缺少的find(POS)功能

    delphi xe7 中对数组操作做了很多扩充,比如加入了类似字符串处理的功能. 例如,数组相加 var A: array of integer; B: TBytes = [1,2,3,4]; //I ...

  4. hdu-1026(bfs+优先队列)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1026 题意:输入n,m和一个n*m的矩阵, .表示通路: x表示墙: n表示有一个怪物,消灭它需要n个 ...

  5. mysql date_sub用法

    查询一天: select * from table where to_days(column_time) = to_days(now()); select * from table where dat ...

  6. 优秀前端工程师必备: 非常常用的checkbox的骚操作---全选和单选demo

    提要: 前端开发的时候, 经常会遇到表格勾选, 单个勾选判断是否全选的事情.趁着有时间, 总结一下以备不时之需! 就像下面这个栗子: 1 源代码: h5 // 全选框 <input type=& ...

  7. Python之Pandas中Series、DataFrame

    Python之Pandas中Series.DataFrame实践 1. pandas的数据结构Series 1.1 Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一 ...

  8. 7) mvn dependency:tree

    http://maven.apache.org/plugins/maven-dependency-plugin/tree-mojo.html mvn dependency:tree 查看 <de ...

  9. The First Android App----Starting Another Activity

    To respond to the button's on-click event, open the activity_main.xml layout file and add the androi ...

  10. PAT甲 1041. Be Unique (20) 2016-09-09 23:14 33人阅读 评论(0) 收藏

    1041. Be Unique (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Being uniqu ...