2011-05-03 19 views
1

可能重複:
Detecting IE using jQueryJQuery的瀏覽器是否=即創建警告框

你好,

我試圖找出如何檢測瀏覽器鍵入頁面加載,然後,如果瀏覽器是Internet Explorer,則創建一個警告框,告訴用戶他們需要允許我的圖庫腳本工作。

我知道我需要使用$ jquery.support來完成此操作,但是我不知道語法,或者如何在頁面加載完成時只做一次。有沒有一種方法可以爲頁面創建一個cookie,告訴他們他們已收到警告,以便他們每次進入我的主頁時都不會收到警告?

在此先感謝。

+0

爲什麼你認爲任何IE用戶需要允許腳本?如果有用戶在禁用JavaScript的情況下運行Firefox,該怎麼辦? – Groo 2011-05-03 18:07:45

+0

嗯......你想用JavaScript來告訴你的用戶他們需要激活JavaScript嗎? – 2011-05-03 18:07:49

+1

@Pekka:我相信他們可以使用JavaScript來隱藏*消息,告訴他們應該打開它。 :) – Groo 2011-05-03 18:09:06

回答

3

如果你想如果啓用JavaScript來識別:

退房的noscript標籤。您可以使用它來添加HTML,這些HTML將顯示給JavaScript禁用的用戶。或者,你可以創建一個包含div一條警告消息,然後隱藏使用jQuery在頁面加載它:

<div class="noScriptWarning">Scripts are disabled!</div> 
<script> 
    // no, wait, they are enabled after all 
    $(".noScriptWarning").hide(); 
</script> 

此外,如果已禁用JavaScript,您將無法訪問客戶端Cookie ,但有服務器端解決方案來傳輸狀態(至少在會話期間)。

8

很簡單!

$(document).ready(function() { 
    if ($.browser.msie) { 
    // create the error box here 
    } 
}); 
+0

好的,可能是一個愚蠢的問題,但要檢查它是不是我會使用: 「if(!$。browser.msie){}」對不對? – 2011-05-03 18:17:46

+0

@帕特里克:是的,jQuery還有其他變量可以檢查任何類型的瀏覽器。 – 2011-05-03 18:19:01

+0

我正在使用這個(鏈接在結束),但它沒有隱藏框在Firefox或鉻 - http://jsfiddle.net/VHJdR/ – 2011-05-03 18:44:25

6

HTML5BoilerPlate項目(http://html5boilerplate.com/)採用了一種很好的方法來處理瀏覽器特定的調整。基本上,html標籤將有一個稱爲ie6/ie7/ie8的CSS類,等等。您可以使用CSS選擇器爲IE執行自定義覆蓋。

例子:

<div class="ie_warning">Oh No, it is IE!</div> 
<style> 
    div.ie_warning { display:none; } 
    .ie5 div.ie_warning, .ie7 div.ie_warning, .ie8 div.ie_warning { display:block !important; } 
</style> 

此作品,未經JavaScript和不需要的jQuery或任何其他JavaScript庫。

+0

很酷。這可能會起作用。任何想法如何添加一個cookie,以便每個瀏覽會話只顯示一次? – 2011-05-03 18:13:20