从父窗口跨域调用子iFrame JS函数

时间:2020-05-26 20:17:36

标签: javascript function iframe cross-domain parent

这是我的情况: 我有一个父窗口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>

0 个答案:

没有答案