2013-01-23 69 views
0

在我的頁面中,我使用JavaScript功能塊與條件。如果瀏覽器是IE8,那麼樣式將如此,或者在其他樣式中使用樣式。但是,如果我使用下面的條件,該功能不起作用。請人幫我解決這個問題檢查功能內的瀏覽器類型不工作在Javascript

function addnew(type) 
{ 
type=parseInt(type)+1; 
var isOpera, isIE = false; 
    if(typeof(window.opera) != 'undefined'){isOpera = true;} 
    if(!isOpera && navigator.userAgent.indexOf('Internet Explorer')){isIE = true); 
var mydiv = document.createElement("div"); 
    mydiv.setAttribute("id",name5); 
if(!IE){ 
    mydiv.setAttribute("style","width:110px;height:80px;background-image:url(images/transparent.png);float:left;text-align:center;border:1px solid #ccc;"); 
    } 
    else 
     { 
       mydiv.style.setAttribute('cssText', "width:110px;height:80px;background-image:url(images/transparent.png);float:left;text-align:center;border:1px solid #ccc;"); 
     } 
} 

       <input id="addchoice" type=button value="Add New Entry" onclick="addnew(document.forms['addpoll']['choicecount'].value);"> 
+0

究竟錯在何處? IE變量來自哪裏? –

+0

var isOpera,isIE = false;如果(typeof(window.opera)!='undefined'){isOpera = true;} if(!isOpera && navigator.userAgent.indexOf('Internet Explorer')){isIE = true);在頁面的頂部 – Rithu

+0

但我有一個JavaScript函數,其中包含包含多個變量的長編碼。例如http://jsfiddle.net/3Sd4W/ 這是我的代碼,我必須更改每個支持IE8和Chrome的變量。任何想法。在那個addnew函數中,IE8不支持onclick,class,setattribute和其他一些東西 – Rithu

回答

2

有目標的Internet Explorer的特定版本更清潔的方式,Conditional Comments.

例子:

<!--[if IE 8]> 
<style type="text/css"> 

.my-div-class-here { 
    width:110px; 
    height:80px; 
    ... } 

</style> 
<![endif]--> 
0
function addnew(type) 
{ 
var isOpera, isIE = false; 
     if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x; 
    var ieversion=new Number(RegExp.$1) // capture x.x portion and store as a number 
    if (ieversion==8) 
    isIE = true; 
    } 
if(isIE) 
{ 
//code for IE 
} 

else 
{ 
//code for other browsers 
} 
相關問題