0

親ページに、非表示のiframeに1つのdivIDが含まれている場合にのみ変更される要素があります。

htmlページにコードを入れればすべて問題ありません:

 <iframe id="myiframe" style="display:none" onload="load()" name="myiframe"   src="mysite.com"></iframe>

JavaScript:

function load(){


if (window.frames[0].document.getElementById('applications'))
{
var str=document.getElementById("tst").innerHTML;
var n=str.replace("Login","Logout");}}
document.getElementById('tst').href='logout';

しかし、htmlファイルからiframeコードを削除し、jsファイルを再配置する必要があります。

jsファイルでこのコードを使用してiframeをトリガーします:

window.onload = function(){
var link = "iframelink"
 var iframe = document.createElement('iframe');
iframe.frameBorder=0;
iframe.width="300px";
iframe.height="250px";
iframe.id="randomid";
iframe.addEventListener("load", load);
iframe.setAttribute("src", link);
document.getElementById("ad54").appendChild(iframe);
}

iframeを取得するためのhtmlコード:

<div id="ad54"</div>

Iframeが起動しますが、iframeがトリガーされても、現在、親ページで要素が変更されていません。iframeが読み込まれると、親ページでこれらの変更を行う必要があります。

4

1 に答える 1

1

<div>要素は外部コンテンツを読み込まないため、loadイベントを発生させることはありません。

iframeコンテンツの読み込み時にイベントを発生させようとしているようです。イベント リスナーを iframe にアタッチする必要があります。

iframe.addEventListener("load", load);
iframe.setAttribute("src", link);
于 2013-03-18T14:16:06.217 に答える