Javascript 确定帧是否跨域的最佳方法?

Javascript 确定帧是否跨域的最佳方法?,javascript,iframe,cross-domain,Javascript,Iframe,Cross Domain,确定帧是否跨域的最佳方法是什么?以下是我现在拥有的: <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <script> $(document).ready(function() { $("#foo").load(function() { alert(isCro

确定帧是否跨域的最佳方法是什么?以下是我现在拥有的:

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
$(document).ready(function() {
    $("#foo").load(function() {
        alert(isCrossDomain(window.frames["foo"]));
    });
});

function isCrossDomain(frame) {
    try {
        var test = frame.document.location.href;
        return false;
    } catch (e) {
        return true;
    }
}
</script>
</head>
<body>
<iframe src="frame.html" id="foo" name="foo"></iframe>
</body>
</html>

$(文档).ready(函数(){
$(“#foo”).load(函数(){
警报(isCrossDomain(window.frames[“foo”]);
});
});
函数isCrossDomain(帧){
试一试{
var test=frame.document.location.href;
返回false;
}捕获(e){
返回true;
}
}
基本上,当我尝试访问帧的location.href属性(如果它是跨域的)时,浏览器会抛出一个异常。但是对于所有浏览器来说,依赖这种行为安全吗?有没有更好的方法来实现isCrossDomain函数


谢谢。

你能不能只获取IFRAME的
src
属性,然后检查协议、端口和主机是否不同?

这可能就是我要做的,或者类似的事情。当IFRAME位置改变时,src属性不会改变。而且,不,您不能访问跨域的信息。