tlr*_*son 25 javascript browser same-origin-policy
我正在寻找一种跨浏览器的方式来检测父帧是否与我的帧相同,最好不要在JavaScript错误控制台上打印警告.
以下似乎有效,但我想避免在控制台上打印错误(至少Safari和Chrome在访问父框架上的location.href时会这样做.Firefox抛出一个可以捕获的异常):
function parentIsSameOrigin() {
var result = true;
try {
result = window.parent.location.href !== undefined;
} catch (e) {
result = false;
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
我会做的事情如下:
var sameOrigin;
try
{
sameOrigin = window.parent.location.host == window.location.host;
}
catch (e)
{
sameOrigin = false;
}
return sameOrigin;
Run Code Online (Sandbox Code Playgroud)
尝试这个:
function parentIsSameOrigin()
{
var result = true;
if (window.parent)
{
result = Boolean
(
// more precise modifications needed here
window.this.location.href.indexOf(window.parent.location.href) == 0
);
}
return result;
}
Run Code Online (Sandbox Code Playgroud)