Javascript iframe的安全性错误

Javascript iframe的安全性错误,javascript,android,cordova,iframe,sencha-touch,Javascript,Android,Cordova,Iframe,Sencha Touch,以下问题发生在Android 4.4及更高版本的设备中 这就是iframe的外观: <iframe frameborder=0 id="myIFRAME"></iframe> 这会导致与协议不匹配相关的安全错误: “未捕获的安全性错误:阻止了具有原点的帧 “”访问具有原点“file://”的帧。 请求访问的帧具有“https”协议,该帧为 已访问的协议为“文件”。协议必须匹配 我们正在使用Sencha touch与Cordova合作开发我们的项目。该公司表示: 如果内容

以下问题发生在Android 4.4及更高版本的设备中

这就是iframe的外观:

<iframe frameborder=0 id="myIFRAME"></iframe>
这会导致与协议不匹配相关的安全错误:

“未捕获的安全性错误:阻止了具有原点的帧 “”访问具有原点“file://”的帧。 请求访问的帧具有“https”协议,该帧为 已访问的协议为“文件”。协议必须匹配

我们正在使用Sencha touch与Cordova合作开发我们的项目。

该公司表示:

如果内容是在来自白名单域的iframe中提供的,则该域将有权访问本机Cordova网桥

您是否尝试在
config.xml
中添加外部域

<access origin="https://google.com" />

@Ritika,
我在这里胡乱猜测,因为我不使用iframe,但在您的
元素中,我没有看到
src
。因此,系统将其设置为某种默认类型,该源的协议是
文件://

我认为如果你设置一个
src=
,即使是一个空的,问题也会消失

走开,只是猜测。祝你好运

  • 谷歌无法通过iFrame访问

  • 默认情况下,从使用
    file://
    协议提供的页面,无法通过
    http://
    https://
    协议访问资源


  • 就个人而言,我会避免同时使用iFrame


    事实证明,iframe正在加载访问window.document的html页面,这导致了跨域安全错误 如果条件在页面内,请参见下面的内容

     if (window.parent.document != window.document) 
    
    我们将其更改为以下条件,以解决安全错误

    if (window.parent != window)
    

    src是在代码中动态创建的,然后最终在iframe上设置。即使我最初尝试设置src='',但这也无济于事。你使用的是白名单、插件和CSP吗?我尝试过使用whie列表,这也无济于事。还有一些问题需要尝试。你使用的是另一个webview库吗?比如crosswalk?你没有说你是否在使用CSP?你在使用哪个版本的Cordova/phonegap编译器?你在使用哪个版本的插件?你试过minSDK和targetSDK吗?我必须在哪里使用它
    if (window.parent != window)