【问题标题】:Android WebView postMessage from iframe with pages in assets来自 iframe 的 Android WebView postMessage 与资产中的页面
【发布时间】:2014-07-20 12:54:30
【问题描述】:

我有一个包含页面 A 的 WebView。 页面 A 有一个包含页面 B 的 iframe。 页面 A 和 B 都在应用的资产中。

页面 A 有一个消息事件处理程序,页面 B 调用 parent.postMessage,但我遇到了安全问题:

I/chromium(997): [INFO:CONSOLE(27)] "Uncaught SecurityError: Blocked a 来源为“null”的框架无法访问来源为“null”的框架。 协议、域和端口必须匹配。”,来源: file:///android_asset/path/to/my.js

我假设来源为空,因为文件是资产,但有没有办法让它们以这种方式进行通信?

【问题讨论】:

    标签: javascript android iframe webview postmessage


    【解决方案1】:

    您应该从页面内启用文件访问。使用此设置:

    webView.getSettings().setAllowFileAccessFromFileURLs(true);
    

    编辑:

    此设置从 SDK 版本 16 开始有效。

    【讨论】:

      猜你喜欢
      • 2012-03-13
      • 1970-01-01
      • 2017-02-25
      • 2012-08-22
      • 2012-09-09
      • 2018-07-04
      • 1970-01-01
      • 1970-01-01
      • 2012-06-20
      相关资源
      最近更新 更多