繁体   English   中英

Javascript if语句拒绝从外部脚本IE6 IE5.5正确加载

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM