2013-10-05 98 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