确定某个框架是否为跨域的最佳方法是什么?这就是我现在所拥有的:
<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>
基本上,当我尝试访问框架的location.href属性(如果它是跨域的)时,浏览器会抛出异常。但是对所有浏览器依赖这种行为是否安全?有没有更好的方法来实现isCrossDomain函数?
感谢。
答案 0 :(得分:0)
您是否只能获得IFRAME的src
属性并检查协议,端口和主机是否不同?