iOS WKWebview 没有响应 <a href="javascript:doSomething()" ...></a> 上的点击事件
Posted
技术标签:
【中文标题】iOS WKWebview 没有响应 <a href="javascript:doSomething()" ...></a> 上的点击事件【英文标题】:iOS WKWebview not responding to clicks events on <a href="javascript:doSomething()" ...></a> 【发布时间】:2016-12-14 17:19:35 【问题描述】:我正在尝试使用我的应用程序中的嵌入式浏览器访问一个网站,但我注意到当我尝试点击一个主要链接时根本没有响应。
查看页面html后,我找到了链接:
<a href="javascript:doSomething()" ...></a>
如何让 WKWebview 执行链接内的 javascript?我尝试扩展委托并实现 didChangeURL,但我无法在其中捕获它(其他 url 确实通过了该函数)。
我真的没有选择,有没有办法解决这个问题?本机浏览器按预期处理它...
谢谢。
【问题讨论】:
这有点晚了,但是您是否尝试提取 href 属性的值,然后使用 eventListener 注入源? 【参考方案1】:除非您使用链接 javascript 是有原因的,否则如果您只是在常规 div 上使用 onclick
,然后将其设置为看起来像一个链接,我希望您将获得更一致的性能。
或者,更好的是,通常避免标记中的处理程序:Better way to call javascript function in a tag
【讨论】:
问题是我无法控制网站,所以我需要让应用适应它。 WKWebview 行为与常规浏览器相比存在很多错误/不一致。如果您无法控制该网站,您可能会不走运。虽然,我承认,我只是站在这枚硬币的另一面。作为开发人员调试的人,所以我绝不是 WKWebview 专家。以上是关于iOS WKWebview 没有响应 <a href="javascript:doSomething()" ...></a> 上的点击事件的主要内容,如果未能解决你的问题,请参考以下文章
iOS WKWebview如何检测我何时点击<a>标签内的图像
IOS - 来自本地HTML文件的WKWebView中的CORS