[英]Javascript if statement refuse to load correctly from exterior script IE6 IE5.5
当我谈到IE6和IE5.5时,在页面上看到一个非常有趣的行为。 我有一个脚本(如果知道的话,它是超巧的),可以在处理IE6和IE5.5时使PNG重新投入使用。 在执行此操作期间,我想使用Explorer Explorer滤镜更改背景(如果已打开Javascript,请使用滤镜,否则请坚持纯白色)。
我这样做是:
if(document.getElementById('transparency') != null)
document.getElementById('transparency').style.filter= "alpha(opacity=60)";
...透明度是相关对象的ID。
将其放在HTML页面的末尾(或“透明性”启动后的任何位置)可导致脚本正常工作。 但是,将其放在外部脚本的最末尾(递延)会导致未应用过滤器。
但是,当我删除if语句并仅告诉浏览器使用过滤器时,它就可以工作(但是只有少数页面具有“透明” ID)。
我试图通过使用警报框并尝试!= null
和== null
来不同地应用if语句,但我什么也没得到。
这让我很好奇,因此我对此进行了测试:
var tt = 5;
if(tt == 5)document.getElementById('transparency').style.filter= "alpha(opacity=60)";
错误屏幕显示了一个甚至更陌生的结果
tt未定义
所有这些都可以在IE 7及更高版本中完美运行...
我意识到这确实是两个不同的问题,但仍然...谁能给我一个有关发生了什么的线索?
这样行吗?
var t = document.getElementById('transparency');
if (t && t.style) t.style.filter="alpha(opacity=60)";
这个怎么样?
try {
document.getElementById('transparency').style.filter= "alpha(opacity=60)";
} catch (e) { }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.