关于window.top.Location对象的跨域策略有一个非常特殊的边缘情况......
假设我在域名www.bbb.com上有IFrame A,住在域名www.aaa.com的页面内。
IFrame中的页面可以:
但它不能:
这些只是我能很快找到的。我确定还有其他边缘案例 似乎浏览器不允许使用top.location对象,如果top位于另一个域中,除之外的一些列入白名单的内容......
这是否记录在任何地方?
我可以找到这些列入白名单的东西吗?
这是HTML标准,并在所有浏览器中同样实现?或者是这种半随机的实现?
答案 0 :(得分:8)
答案 1 :(得分:6)
安全规则与浏览器版本不同。通常较新的版本有更严格的规则,但也更精细调整。
我怀疑旧浏览器可以自由地让你访问顶部框架的位置对象,一些较新的浏览器会完全拒绝它,当前版本可以让你比较位置对象但不能从中读取它们。
您可以找到有关此内容的文档,但它将针对每个浏览器而具体,并针对每个版本的浏览器。据我所知,没有真正的标准。每个浏览器供应商都试图尽可能地保护用户,同时仍然保持网站构建器的一些可用性。一般来说,你不能真正假设任何接近边界的东西在所有浏览器中都有效,或者它将在未来的版本中继续使用。