Вызов функции дочернего iFrame JS из междоменного родительского окна - PullRequest
0 голосов
/ 26 мая 2020

Вот мой сценарий: У меня есть родительское окно MyParent. php в которое встроен iFrame (id = Myiframe) и загружается сайт «ChildSite», который, очевидно, является другим доменом. Этот детский сайт не находится под моим контролем. Имеет несколько JS функций, например myChildFunction (str).

Может ли родительское окно получить доступ к функциям JS дочернего iframe? Большинство рекомендаций касаются использования postMessage , но с этим мы можем получить доступ только к данным, но не к функции. Есть ли другой путь?

Любая помощь очень ценится! Вот уже несколько дней я ломаю голову над этим.

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>
...