2015-01-10 54 views
0

我有一個簡單的HTML字符串加載到我的WKWebViewWKWebView體的onclick忽略

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

UIDelegate設置正確。雖然onclick處理程序沒有反應。如果我將onclick處理程序設置到<p>標記上,它可以正常工作。任何想法爲什麼?

回答

1

在同樣的問題已經迷迷糊糊:作爲沃伊切赫說,身體上的一個onclick偵聽器將永遠不會觸發(如iOS版9.3)在WKWebView。

我通過添加中間<div style="width: 100%; height: 100%">作爲容器,並把onclick存在解決了這個。工作正常。

1

這不是的onclick。 WKWebView默默地忽略了你試圖用JS創建的「通知」,包括alert()。

因此,要確保JS正在工作,您應該使用消息處理程序(如此處所述:http://nshipster.com/wkwebkit/)並使用JS傳遞消息。

+0

根據我的經驗,即使是不涉及'警告的情況下()'仍然忽略。 「UIDelegate」和「navigationDelegate」都不會在水龍頭上通知,即使在缺少「href」屬性的錨元素上也不會被通知,並且所有這些都在「UIWebView」下工作。 – Oluseyi

+0

這是關於點擊。我可以觸發一個消息('''webkit.messageHandlers.callbackHandler.postMessage(\「documentclicked \」);'''),但它不會在onclick中觸發。 – manmal