1

page2に指定された要素が含まれている場合、page1のコンテンツを変更する必要があります。同じページからIDを取得すると、このコードはうまく機能します

if (document.getElementById("page_element")) {
    var str = document.getElementById("destination").innerHTML;
    var n = str.replace("Login", "Logout");
    document.getElementById("destination").innerHTML = n;
}

しかし、ページ 1 のコンテンツを変更するには、要素がページ 2 に存在するかどうかを確認する必要があります。

これを変えなければならない

  if (document.getElementById("page1_element"))

page2(私の場合はlogged.html)である正しいパスを使用してください。どうやってやるの ?

4

3 に答える 3

2

これはうまくいくと思います...

var iframe = document.getElementById("iframeId"),
    doc = getFrameDocument(iframe);

doc.getElementById("page2_element_id"); // [DOM Element]

function getFrameDocument(iframe){
    return iframe.contentDocument ? iframe.contentDocument : iframe.contentWindow.document;
}

return cond ? a : b意味:

if ( cond ) {
    return a;
}
else {
    return b;
}
于 2013-03-14T12:15:24.580 に答える
1

このように考えてください。JavaScript はブラウザ、たとえば Chrome で実行されます。Chrome は、現在読み込まれているページを認識できますが、サーバーに残っている html ファイルについては、ブラウザーに読み込まれるまで認識しません。あなたができることは、表示されないlogged.htmlを含むiFrame(おそらく1x1ピクセル、またはページから離れた位置(左:4000px)の固定位置)を持つことです。次に、iFrameを参照してから要素を取得できますここでは、iFrame 内の要素を参照する方法について説明します: getElementById from iframe

于 2013-03-15T00:42:12.317 に答える