【发布时间】:2019-07-19 15:33:24
【问题描述】:
当我在测试 SOP 时,我遇到了这种情况,两个文档与我预期的同一个域有关系,当我尝试获取位置时它会引发错误。
重现问题:
- 打开https://www.google.com
- 来自控制台
let opened = window.open("https://www.google.com") - 在同一窗口中执行
opened.location.toString(),这将返回正确的位置 - 从第二个选项卡的控制台执行
document.domain = "www.google.com" -
从第一个标签执行
opened.location.toString(),你会得到一个错误Uncaught DOMException: Blocked a frame with origin "https://www.google.com" from accessing a cross-origin frame. at <anonymous>:1:12
谁能解释这种奇怪的行为?
【问题讨论】:
标签: javascript dom same-origin-policy