WKWebView 不再与 iOS10 中的 Javascript 交互
Posted
技术标签:
【中文标题】WKWebView 不再与 iOS10 中的 Javascript 交互【英文标题】:WKWebView doesn't interact anymore with Javascript in iOS10 【发布时间】:2016-09-15 21:40:42 【问题描述】:我有一个必须与网站交互的本机应用程序。它一直正常工作到 ios 9,但在 iOS 10 中,Web 应用程序内的 javascript 代码不再有效。
这是我在按钮的 onClick 事件中使用的 JS 代码示例,正如前面提到的,它在 iOS10 之前就像一个魅力。
function DoSomething()
var iframe = document.createElement("IFRAME");
var url='codeToBeUsed://id=1230';
iframe.setAttribute("src", url);
document.documentElement.appendChild(iframe);
iframe.parentNode.removeChild(iframe);
iframe = null;
当我在 Xcode 上调试应用程序时,通常包含所提供示例中“url”变量内容的 request 变量现在返回一个空白值...
<NSMutableURLRequest: 0x170011070> URL: about:blank
我什至测试了放置一个 alert('click'); 但它也没有工作。有人知道如何解决这个问题吗?
【问题讨论】:
【参考方案1】:使用接近你的代码(我在 src 中传递了一个字符串化的 json),我还在请求中得到了一个令人尴尬的“关于;空白”。
似乎 iOs10 对传递给 iframe 'src' 的内容有一些新的限制。我发现它需要一个有效的 url 才能正确触发请求。
尝试使用:
var url='codeToBeUsed://?id=1230';
编辑:或编码 URI...
【讨论】:
以上是关于WKWebView 不再与 iOS10 中的 Javascript 交互的主要内容,如果未能解决你的问题,请参考以下文章