1

iframe ページ (同じサーバー上) のページ名を取得しようとしていますが、それが次の名前でない場合:'index1.php'または'indexTOM.php'、そのページ名の場合は何もしないで、iframe をリロードします。ここに設定しましたが、何らかの理由で機能しませんresultNfoは常にtrueで、iframeはリロードされませんか?

//Check URL of IFRAME
var currentUrl = document.getElementById("frmcontent").contentWindow.location.href;

var word = 'index1.php';
var regex = new RegExp( '\\b' + word + '\\b' );
var resultNfo = regex.test( currentUrl );
if (resultNfo = true){ document.getElementById("frmcontent").contentDocument.location.reload(true); }

var word = 'indexTOM.php';
var regex = new RegExp( '\\b' + word + '\\b' );
var resultNfo = regex.test( currentUrl );
if (resultNfo = true){ document.getElementById("frmcontent").contentDocument.location.reload(true); }
alert('URL is: '+currentUrl+'\n'+resultNfo);
4

1 に答える 1

3

やってみませんresultNfo = currentUrl.indexOf('indexTOM.php') !== -1か?

ここにも多くの問題がありforます。本当にループを使用する必要があります

テストされていないデモ

var urls = ['indexTOM.php', 'index1.php'],
    frame = document.getElementById('frmcontent').contentDocument;

for( var i = 0; i < urls.length; i++ ) {
   var url = urls[i];
   if( frame.location.href.indexOf(url) !== -1 ) {
      frame.location.reload()
   }
}

上記のコードの行に沿って何かを試してみてください。それはずっときれいです。

于 2013-08-07T20:42:09.753 に答える