我的网站在 http ://example.com上托管了父框架,在 https 上托管了子iframe://sub.example.com 。
父框架:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<script>
document.domain = "example.com";
function testCall() {
alert('testCall');
}
</script>
</head>
<body>
<iframe id="httpsFrame" src="https://sub.example.com/secure/httpsframe.html"></iframe>
</body>
</html>
子框架:
<!DOCTYPE html>
<html>
<head>
<title>HTTPS Frame Test</title>
<script>
document.domain = "example.com";
</script>
</head>
<body onload="window.parent.testCall()">
Nothing here
</body>
</html>
当尝试从子帧进行callParentFrame()Javascript调用时,我收到拒绝访问错误。我该如何解决这个问题?我在这里和网上都做了很多搜索,并发现了许多使用CORS来解决跨源问题的引用,但所有这些示例都涉及使用XMLHttpRequest对象来进行跨域请求。在这里,我尝试对父窗口进行简单的Javascript调用。
正如您所看到的,我已尝试将两个网页的document.domain值设置为同一个域,但这并没有帮助解决问题。
如果这是一个经常被问到的问题我很抱歉。这似乎是一直存在的东西,但我无法在网上找到解决方案。提前感谢您提供任何帮助。