Iframe-Cross-Domain-Problem
P粉939473759
2023-08-24 09:35:29
<p>Angenommen, ich habe eine Website namens example.com mit einem in die Domäne iframe.net eingebetteten Iframe. Jetzt möchte ich den Inhalt des Iframes lesen und einige Parameter übergeben, um eine Textnachricht anzuzeigen. Ich verwende gerne den Benutzernamen Hallo. </p>
<p>Das Problem ist nun, dass dadurch keine Verbindung zwischen den beiden hergestellt werden kann oder nicht einmal das innerHTML des Iframes abgerufen werden kann, den ich unten verwende.</p>
<pre class="brush:php;toolbar:false;">document.getElementById('myframe').contentWindow.document.body.innerHTML;</pre>
<p>Es wird der Fehler „Berechtigung zum Zugriff auf die Eigenschaft verweigert“ ausgegeben.</p>
<p>Weiß jemand, wie man auf domänenübergreifenden Plattformen liest und schreibt?</p>
在 Internet Explorer 8 中,作为参数传递的事件可能为 null,这就是您需要以不同方式访问事件的原因:
在frame.html中:
在main.html上:
该事件的触发方式与 Rob W 所呈现的方式相同:
如果您无法控制被框架的网站,则无法规避跨域策略。
如果您可以控制这两个站点,则可以使用
postMessage
跨域传输数据的方法。一个非常基本的例子: