我在主页面中有一个iframe。 iframe来自与主页面完全相同的域名。
主页面网址 - https://example.edu:4450/ ... iframe url - https://example.edu:4450/ ...
但是,当我点击iframe页面中执行某些javascript代码的某些按钮时,我仍然会收到交叉原始帧错误。为什么即使两个网址都位于同一个域中,也会发生这种情况?有没有办法找出导致此错误的确切跨域网址?警报消息不会显示导致此错误的跨域网址。
答案 0 :(得分:2)
JavaScript控制台显示了错误的原因。
Uncaught SecurityError: Blocked a frame with origin "https://dev.nss.xxx.edu:4450" from accessing a frame with origin "https://dev.nss.xxx.edu:4450". The frame requesting access set "document.domain" to "nss.xxx.edu", but the frame being accessed did not. Both must set "document.domain" to the same value to allow access.
主页面的document.domain设置为dev.nss.xxx.edu,iframe页面的document.domain设置为nss.xxx.edu
我将以下JavaScript代码添加到主页面以强制域为“nss.xxx.edu”并修复了错误。
document.domain = "nss.xxx.edu";