2013-10-05 96 views
-1

我有一個條件網頁檢測瀏覽器和顯示div。隱藏iFrame或Div

我有5個5格與5 ID。

喜歡:

<div id="firefox"> 
    iframe here 
</div> 

<div id="chrome"> 
     iframe here 
</div> 

<div id="ie"> 
    iframe here 
</div> 

<div id="opera"> 
    iframe here 
</div> 

<div id="safari"> 
    iframe here 
</div> 
  • 當我打開從Firefox該網頁時,其顯示你的firefox iframe中。這一次的身體類是「壁虎贏」

  • 當我從鉻打開此網頁,它顯示你的Firefox iframe。這一次的正文類是「webkit chrome」

  • 當我從safari打開這個網頁時,它會顯示你的firefox iframe。這次的機體類是「safari」

  • 當我從IE打開這個網頁時,它會顯示你的firefox iframe。這次體類是空白的。

現在我需要一個javascript代碼,...

  • 當身體類是「壁虎贏」這個時候它會自動刪除他人格,如:鉻,歌劇,Safari ..全內容。

  • 當它的使用體類「chrome」這次它去掉了firefox,即opera和其他。只保留鉻。

它可能嗎???

如果可能的話是什麼代碼?

我的完整代碼:http://pastie.org/private/6who43sltqkttc0taoqjug

我不設置顯示無碼。它已經工作。但我想要基於html/body類的代碼。

  • 當body/html類爲chrome時,只顯示chrome div並從頁面中刪除所有其他div。
  • 當body/html class是firefox時,只顯示firefox div並從頁面中刪除所有其他div。
  • 當body/html類爲空時,只顯示IE div並從頁面中刪除所有其他div。

我不想設置display:nonevisibility:hidden代碼。我想要remove()的JavaScript代碼。

回答

0
BrowserDetect.init(); 

我們假設我們有一個div。

<div id="userInfo"></div> 

寫出版本/平臺的條件語句。這將會是一個很長的列表,因爲不幸的是,您需要對此代碼進行反向工程,以便按照您的需要進行工作。

var a = BrowserDetect.browser, 
b = BrowserDetect.version, 
c = BrowserDetect.OS; 
if(a == "Firefox" && b >= "14" && c == "Windows"){ 
    //firefox greater then or equal to 14, on windows 
    $("#userInfo").text(a +' '+ b + ' - ' + c); 
}else if(a == "Explorer" && b == "9" && c == "Windows"){ 
    //ie9 on windows 
    $("#userInfo").text(a +' - '+ b + ' - ' + c); 
}else if(a == "Chrome" && b > "19" && c == "Mac"){ 
    //chrome greater than 19 on a mac 
    $("#userInfo").text(a +' - '+ b + ' - ' + c); 
} 
//more conditionals here 

在你的情況下刪除版本和平臺..

+0

該庫的鏈接可以真正幫助OP。 – Shikiryu

+0

哪個庫? –

+0

http://www.quirksmode.org/js/detect.html –

1
var browser=*your_method_to_find_browser (serverside or client side)*; 
switch (browser) 
{ 
    case 'firefox': 
     $("#chrome").css('display','none'); 
     $("#ie").css('display','none'); 
     $("#opera").css('display','none'); 
     $("#safari").css('display','none'); 
     break; 
    case 'chrome': 
     $("#firefox").css('display','none'); 
     $("#ie").css('display','none'); 
     $("#opera").css('display','none'); 
     $("#safari").css('display','none'); 
     break; 
    case 'ie': 
     $("#chrome").css('display','none'); 
     $("#firefox").css('display','none'); 
     $("#opera").css('display','none'); 
     $("#safari").css('display','none'); 
     break; 
    case 'opera': 
     $("#chrome").css('display','none'); 
     $("#ie").css('display','none'); 
     $("#firefox").css('display','none'); 
     $("#safari").css('display','none'); 
     break; 
    case 'safari': 
     $("#chrome").css('display','none'); 
     $("#ie").css('display','none'); 
     $("#opera").css('display','none'); 
     $("#firefox").css('display','none'); 
     break; 
} 
+5

我不是說這不起作用,但在開始時隱藏所有div(使用純CSS)並不容易,然後只顯示在每種情況下都需要一個而不是寫4行代碼? – Harry

+0

@哈利+1。而不是4行,在這裏,你可以做'$(「#chrome,#ie,#opera,#firefox」)。css('display','none');'。但你的解決方案仍然更好;) – Shikiryu

+0

@哈利你是對的 – Drupalist