2017-05-21 5 views
1

Helly jeder eine Funktion noch postmessage innerhalb eines Iframe mit Chrome nennen,kann nicht

ich verzweifelt versuchen, eine Funktion innerhalb eines Iframes rufen stundenlang ohne Erfolg.

Hier sind die beiden Dinge, die ich habe (auf Safari in Betrieb), der Muttercode:

window.frames['map-frame'].Test(); 

oder

document.getElementById('map-frame').contentWindow.postMessage("test", '*'); 

Der Rahmencode:

window.Test = function() 
{ 
    alert("1"); 
} 

oder

window.receiveMessage = function (event) 
{ 
    alert("2"); 
} 
addEventListener("message", receiveMessage); 

Wie gesagt, es funktioniert für beide Lösungen in Safari, aber nicht in Chrome. Beide Dateien befinden sich auf meinem Webserver (Ich habe gesehen, dass lokale Anrufe in Chrome blockiert werden können). Ich habe kaum etwas versucht, was ich auf Stackoverflow und Google gefunden habe, aber nichts macht die Tricks.

Hat jemand jemals das gleiche Problem? Kennt jemand Tricks oder etwas zum Ausprobieren?

Vielen Dank im Voraus Leute

+0

Wenn Sie postMessage API verwenden, müssen Sie nicht in den iframe gehen, um die 'post' – charlietfl

+0

vielleicht' addEventListener ("message", receiveMessage); 'ändern Sie es zu' window.addEve .... 'nicht sicher, wo Sie diese Methode Anruf haben – UXDart

+0

@charlietfl: Was meinst du damit ohne Notwendigkeit, in den Iframe gehen? – user3316068

Antwort