Javascript iframe的安全性错误
以下问题发生在Android 4.4及更高版本的设备中 这就是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合作开发我们的项目。该公司表示: 如果内容
<iframe frameborder=0 id="myIFRAME"></iframe>
这会导致与协议不匹配相关的安全错误:
“未捕获的安全性错误:阻止了具有原点的帧
“”访问具有原点“file://”的帧。
请求访问的帧具有“https”协议,该帧为
已访问的协议为“文件”。协议必须匹配
我们正在使用Sencha touch与Cordova合作开发我们的项目。该公司表示:
如果内容是在来自白名单域的iframe中提供的,则该域将有权访问本机Cordova网桥
您是否尝试在config.xml
中添加外部域
<access origin="https://google.com" />
@Ritika,我在这里胡乱猜测,因为我不使用iframe,但在您的
元素中,我没有看到src
。因此,系统将其设置为某种默认类型,该源的协议是文件://
我认为如果你设置一个src=
,即使是一个空的,问题也会消失
走开,只是猜测。祝你好运
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)