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 回答