来自assets文件夹中的页面的iframe在Android WebView中使用postMessage

3
我有一个包含页面A的WebView。 页面A中有一个包含页面B的iframe。 页面A和B都在应用程序的资产中。
页面A有一个消息事件处理程序,而页面B调用parent.postMessage,但我遇到了安全问题:
“Uncaught SecurityError: Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match.” (未捕获的安全错误:阻止了源为“null”的帧访问源为“null”的帧,协议、域和端口必须匹配。)
我认为这些来源是null,因为这些文件是资产,但是否有一种允许它们以这种方式通信的方法?
1个回答

2

您应该启用页面内的文件访问。请使用以下设置:

webView.getSettings().setAllowFileAccessFromFileURLs(true);

编辑:

此设置适用于SDK版本16及以上。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接