Javascript 带iFrames的ifelse语句
我有一个iframe,我想做一个if条件,如果iframe源等于指定的页面,div应该显示: 示例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。链接工作正常,它更
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
notgetElementById
然后,需要从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加载新页面时立即更新:)