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