Wie Sie JavaScript verwenden, um Zugriff auf cross-domain-iFrame-Inhalte?
Ich würde gerne diesen code verwenden
window.parent.document.getElementById('message').value += "\r\n\r\n[img]"+response+"[/img]";
Es funktioniert gut für die Seiten kommen aus der gleichen Domäne, aber nicht für die Seiten von einer anderen domain geladen, die in den iFrame. Wie kann ich es tun?
- möglich, Duplikat der Cross-Domain URL-Zugriff aus dem Iframe mit Javascript
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie implementieren, Fenster.postMessage, um die Kommunikation zwischen iframes/windows über Domänen.
Child.htm
Werfen Sie einen Blick auf easyXDM, es ist eine einfach zu bedienende Bibliothek, die eine einheitliche API für verschiedene tricks verwendet, um ermöglichen cross-domain-messaging, angefangen von postMessage an die FIM-trick, als eine Letzte resort.
Dies ist, was verwendet wird, indem die wichtigsten Dienste wie Twitter und Disqus.
Aufgrund same-origin-policy Einschränkungen ist dies nicht erlaubt.
Können Sie nicht. Dies wird als der same-origin-policy, und verhindert, dass javascript auf Inhalte zugreifen, die über mehrere domains hinweg.
Wie gesagt, das fällt unter die same-origin-policy, aber es gibt einige tricks, die es ermöglichen, beschränkt sich die Kommunikation mit dem iframe. Werfen Sie einen Blick auf http://ajaxify.com/run/crossframe/
Können Sie, wenn Sie Ihren browser deaktiviert haben Sicherheit, für chrome ist es
Update: ich bin überrascht, dass Menschen widmen, die es, weil Sie halte es für schädlich, so hier füge ich einige zusätzliche details für Völker, die nicht wissen, - Grundlagen der web-Sicherheit und immer noch versuchen, zu entwickeln ist es.
NICHT diese Lösung verwenden, wenn
sind Sie mit chrome plugins oder apps, die nicht vertrauenswürdig sind, indem Sie, oder
die Sie geöffnet haben auf anderen Seiten im chrome, oder
haben Sie einige bösartige chrome-Prozesse
Ihre Website mit beliebigen externen Ressourcen.
Ist diese Lösung nicht ganz sicher ist, konfigurieren Sie Ihre firewall blockiert alle verbindungen, außer einer, zu dem Sie machen CORS-Verbindung.
Auch nicht diese Lösung verwenden, wenn Ihre Verbindungs-Endpunkt ist nicht vertrauenswürdig.