检查窗口父级是否为同一域



我的问题是我正在创建一个应用程序,该应用程序将添加到iframe中的不同页面。但有时它会在我自己的域上,有时会在其他某个域上。当它托管在我自己的域上时,我希望能够在框架之外调用函数。

是否可以检查父窗口是否在同一个域上(使用 javascript/jQuery)?目前,当尝试访问框架之外的某些内容时,当未托管在我自己的站点上时,我遇到了这个丑陋的错误:"错误:访问属性'文档'的权限被拒绝"

想做这样的事情:

if(window.parent is accessible) {
    // Do special stuff
} else {
   // Do nothing
}

您可以使用:

try{
    parent.document;
    // accessible
}catch(e){
    // not accessible
}

我尝试检查父文档,但由于某些原因,在新的iOS设备(chrome或safari)中,它没有抛出异常,而是继续下一步。

所以我又迈出了一步:

try{
    var doc = parent.document;
    if(!doc)
        throw new Error('Unaccessible');
    // accessible
}catch(e){
    // not accessible
}

相关内容

  • 没有找到相关文章

最新更新