因此有一个网址,如:
https://subdomain.domain.com/popuppage
我正在使用以下方法在弹出窗口中打开它:
window.open("https://subdomain.domain.com/popuppage", null, "height=600,width=800")
现在,单击第三方网站的链接后,将在新选项卡中打开同一页面。问题是我想确定它是由我或第三方网站打开的。有什么办法吗?
我尝试检查window.opener
属性,但是在两种情况下,我都得到window.opener
,并且由于CORS政策,浏览器不允许我访问window.opener
的任何属性。
答案 0 :(得分:0)
您可以尝试访问window.opener.location.href
。如果有效,则它是同一个域(因此没有第三方),如果失败,则极有可能不是(因此第三方)。
window.onload = function(){
var _CORS = null;
try{
window.opener && window.opener.location.href;
_CORS = false
//REM: Edit according to comment
/*
_CORS = !(
!window.opener ||
(window.opener.location.href && window.location.host === window.opener.location.host)
)
*/
}
catch(err){
_CORS = true
};
alert('Third party: ' + _CORS)
};
将此内容放在https://subdomain.domain.com/popuppage
的{{1}}中,或者您想对其进行进一步评估。