WKWebView 不再与 iOS10 中的 Javascript 交互

WKWebView doesn't interact anymore with Javascript in iOS10

我有一个必须与网站交互的本机应用程序。它在 iOS 9 之前一直正常工作,但是在 iOS 10 之后,网络应用程序中的 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 上调试应用程序时,request 变量通常包含所提供示例中 "url" 变量的内容,现在 returns 一个空白值...

<NSMutableURLRequest: 0x170011070> { URL: about:blank }

我什至测试了放置 alert('click'); 但它也没有用。有人知道如何解决这个问题吗?

使用接近你的代码(我在 src 中传递了一个字符串化的 json),我在请求中也得到了一个令人尴尬的 'about;blank'。

似乎 iOs10 对传递给 iframe 'src' 的内容有一些新的限制。我发现它需要有效的 url 才能正确触发请求。

尝试使用:

var url='codeToBeUsed://?id=1230';

编辑:或编码 URI...