WKWebView 正文 onclick 被忽略

WKWebView body onclick ignored

我有一个简单的 html 字符串加载到我的 WKWebView:

<html>
<head>
</head>
<body onclick='alert("Success")'>
    <p>Click me</p>
</body>
</html>

UIDelegate 设置正确。 onclick 处理程序没有反应。如果我将 onclick 处理程序设置到 <p> 标记上,它工作正常。知道为什么吗?

这与点击无关。 WKWebView 默默地忽略 "notifications" 你试图用 JS 做的,包括 alert().

因此,为了确保 JS 正常工作,您应该使用消息处理程序(如此处所述:http://nshipster.com/wkwebkit/)并使用 JS 传递消息。

偶然发现了同样的问题:正如 Wojciech 所说,在 WKWebView 中,body 上的 onclick 侦听器永远不会触发(从 iOS 9.3 开始)。

我通过添加一个中间体 <div style="width: 100%; height: 100%"> 作为容器并将 onclick 放在那里解决了这个问题。工作正常。