我可以在执行之前判断帧访问是否是跨域的吗?

时间:2010-09-17 19:59:56

标签: javascript webkit cross-domain safari-extension

我正在尝试为窗口iframe集合中的每个帧找到DOM frameframes元素。我认为,最快的方法是访问框架的frameElement属性。此属性仅适用于同域访问,并返回undefined并在跨域情况下向日志输出错误消息。

我可以遍历从document.getElementsByTagName返回的元素,以在跨域情况下找到正确的元素,但我想避免将“不安全的JavaScript尝试”消息打印到日志中。

如果属性访问尝试与跨域安全策略相冲突,在尝试之前是否有任何方法可以告诉?

感谢。

1 个答案:

答案 0 :(得分:0)

您可以检查托管页面的网址和框架(src属性)上的域。如果域名不同,您很可能会收到错误。

我之所以说最有可能是因为如果框架在子域上,但指定document.domain与父框架相同,则跨域访问将起作用。