我的问题是我正在创建一个应用程序,该应用程序将添加到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
}