1
在IE6和IE5.5中,我在页面中看到了一个非常有趣的行为。我有一个脚本(如果你知道的话可以选择超级脚本),这样可以在处理IE6和IE5.5时使PNG恢复业务。在执行此过程中,我想将背景更改为使用资源管理器Alpha过滤器(如果启用了Javascript,请使用过滤器,否则坚持为纯白色)。Javascript if if拒绝从外部脚本正确加载IE6 IE5.5
我通过这样做:
if(document.getElementById('transparency') != null)
document.getElementById('transparency').style.filter= "alpha(opacity=60)";
...透明度问题的对象的ID。
把这个放在HTML页面的末尾(或者'透明'被启动后的任何地方)导致脚本工作。将它放在外部脚本的最后(延迟)会导致过滤器不被应用。
但是,当我删除if语句,并告诉浏览器使用它的过滤器的作品(但只有少数页面已获得'透明度'ID)。
我试图通过使用警告框不同地应用if语句,并尝试使用!= null
和== null
,我什么都没有。
这让我很好奇,所以我测试了这一点:
var tt = 5;
if(tt == 5)document.getElementById('transparency').style.filter= "alpha(opacity=60)";
与错误屏幕说
TT给了一个更奇怪的结果是不确定的
所有这一切在IE 7及以上版本中运行完美...
我意识到这真的是两个不同的问题,但仍然... 任何人都可以给我一个线索,了解发生了什么?
@no谢谢!!!工作完美,但我仍然很好奇,为什么和如何?你愿意给我一个简短的解释吗? :) 谢谢!! – 2010-09-07 20:29:12
@no是两个都很好..再次感谢!真的很想听听为什么虽然......不能真正做到这一点:( – 2010-09-07 20:39:16
我很想解释它,但我真的不知道为什么他们工作...或者,我应该说,我不'我知道为什么你发布的代码失败了,我只是按照我平常写的方式重写了你的代码,希望(并且有些期待)它会起作用。如果其他人能够听到解释,我也会很感兴趣给一个 – 2010-09-07 21:47:42