Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带iFrames的ifelse语句_Javascript_Iframe_If Statement - Fatal编程技术网

Javascript 带iFrames的ifelse语句

Javascript 带iFrames的ifelse语句,javascript,iframe,if-statement,Javascript,Iframe,If Statement,我有一个iframe,我想做一个if条件,如果iframe源等于指定的页面,div应该显示: 示例 if(getElementById('iframe').src = 'someurl'){ getElementById('div').style.display. = 'block'; } 问题 我不是JS方面的专家,但是当我使用这个脚本时,iframe会在加载主页时自动加载“someurl”,我不希望这样,我希望当iframe源通过链接更改为“someurl”时显示div。链接工作正常,它更

我有一个iframe,我想做一个if条件,如果iframe源等于指定的页面,div应该显示:

示例

if(getElementById('iframe').src = 'someurl'){
getElementById('div').style.display. = 'block';
}
问题

我不是JS方面的专家,但是当我使用这个脚本时,iframe会在加载主页时自动加载“someurl”,我不希望这样,我希望当iframe源通过链接更改为“someurl”时显示div。链接工作正常,它更改了iframe src,但if语句不工作

    if(document.getElementById('iframe').src == 'someurl'){
          document.getElementById('yourdiv').style.display = 'block';
    }
使用
=
而不是
=
为src赋值,而不是检查条件

使用
=
==

  • =
    是一项作业
  • =
    是一种平等测试
  • =
    是一种没有类型转换的平等性测试(通常优于
    =
使用
==
,而不是
=

然后您需要正确引用
getElementById
。它是
文档
对象的方法,而不是全局方法

使用
document.getElementById
not
getElementById

然后,需要从display属性中去掉尾随的
字符

然后,假设您希望在跟踪帧中的链接时更新此函数,而不仅仅是在跟踪当前页面中的链接时更新此函数,则需要定期重新运行该函数以查看它是否已更改

setInterval(yourFunctionName, 5000); 
然后,由于页面可能会从您要查找的URL移开,因此需要添加else语句

function yourFunctionName () {
    var div = document.getElementById('div'); /* Really? Your unique ID for a specific div is 'div'?! */
    if(document.getElementById('iframe').src === 'someurl'){
        div.style.display = 'block';
    } else {
      div.style.display = 'none';
    }

}
你犯了错误

if(getElementById('iframe').src = 'someurl')
=
是赋值,但您应该检查条件。使用
=
。您可以交换条件以消除错误,如下所示。以下是一个示例:

if('someurl' == getElementById('iframe').src)

基本的想法是,常量应该是比较的一部分。如果你不小心写了赋值而不是比较,我会得到更清楚的错误。

删除。在
样式之后。显示
too@Adeel谢谢你的更正。你是从哪里得到你的头像的。只是好奇=)它是2年前在网上创建的,但是现在我不知道网站名:(@Adeel我已经找了一段时间了。是的,我知道这个文档。getElementById:)忘了:)我是个初学者,如果你没有注意到的话:D.非常感谢,我发现==和==一样有效,我试过==一次,但没用也许我有打字错误,但是感谢您的解释,我正在iframe中使用onLoad函数来运行脚本,因此它会在iframe加载新页面时立即更新:)