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

Check IFRAME URL and reload if found - Javascript

本文关键字:如果 IFRAME -Javascript 加载 新加载 检查 URL      更新时间:2023-09-26

我正在尝试获取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);

为什么不直接执行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()
   }
}

试着按照上面的代码做一些事情,它会干净得多。