在iOS10中,WKWebView不再与Javascript交互

时间:2016-09-15 21:40:42

标签: javascript ios wkwebview

我有一个本地应用程序,必须与网站进行交互。它一直在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”变量的内容,现在返回一个空值...

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

我甚至测试了警告('点击'); ,但它也没有用。有人知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

使用靠近你的代码(我在src中传递一个字符串化的json),我在请求中也有一个令人讨厌的'about; blank'。

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

尝试使用:

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

编辑:或编码URI ...