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

我的问题是我正在创建一个将被添加到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)中,它没有抛出exception,只是继续下一步。

所以我又迈了一步:

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