检查IFRAME URL并重新加载(如果找到) - Javascript

时间:2013-08-07 20:37:32

标签: javascript jquery ajax

我正在尝试获取iframe页面的页面名称(位于同一服务器上),如果它不是以下名称:'index1.php''indexTOM.php'则不如果它是该页面名称,则执行任何操作,然后重新加载iframe。现在我已经设置了它,但由于某种原因它不起作用,结果是总是为真,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);

1 个答案:

答案 0 :(得分: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()
   }
}

尝试上面代码的内容,它更清晰。