这是我的情况: 我有一个父窗口MyParent.php,它嵌入了iFrame(id = Myiframe)并加载了一个站点“ ChildSite”,这显然是一个不同的域。此子站点不受我的控制。它几乎没有JS函数,例如myChildFunction(str)。
父窗口是否可以访问子iframe的JS函数?大多数建议都是关于使用 postMessage 的,但是我们只能访问数据而不能访问该功能。还有其他办法吗?
非常感谢您的帮助!在过去的几天里,我都对此crack之以鼻。
MyParent.php
<?php
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: X-Requested-With");
header("Content-Type: text/html");
?>
<html>
<iframe id=Myiframe width=50%></iframe>
</iframe>
<script>
var Myiframe=document.getElementById('Myiframe');
Myiframe.src='https://childsite.com';
Myiframe.onload=function() {
alert('iframe loaded');
var frameDocument = Myiframe.contentDocument ? Myiframe.contentDocument : Myiframe.contentWindow.document;
document.getElementById('Myiframe').contentWindow.myChildFunction(abc);
</script>
</html>