2014-01-21 43 views
-1

我想添加額外的樣式表到head元素中。我在控制檯中使用了下面的代碼,它可以完成這項工作,但是如果我將它放到我的.js文件中,它將不會添加樣式表。我已經確保jQuery在js文件之前加載。我必須通過添加()來使其成爲自行執行的函數嗎?關閉括號後?我想,而頁面加載window.load將運行...爲什麼win7> 0然後添加新樣式表不起作用?

var winxp = navigator.userAgent.indexOf('Windows NT 5.1'); 
var winvs = navigator.userAgent.indexOf('Windows NT 6.0'); 
var win7 = navigator.userAgent.indexOf('Windows NT 6.1'); 
var win8 = navigator.userAgent.indexOf('Windows NT 6.2'); 
window.onload = function() { 
    if ($(winxp > 0) || $(winvs > 0) || $(win7 > 0) || $(win8 > 0)) { 
     $('<link rel="stylesheet" type="text/css" href="/css/fontello-windows.css?3" />').insertAfter('head'); 
    }; 
} 
+0

你需要知道的一切:http://css-tricks.com/how-to-create-an-ie-only-stylesheet/ –

+0

'$(winxp> 0)'...?這對我來說是新的... –

+0

Joe Conlin,添加的樣式表不僅適用於IE。 – user2734550

回答

0

是的,你需要自己在window.onload執行功能:

自執行:

window.onload = function() { 
    if ($(winxp > 0) || $(winvs > 0) || $(win7 > 0) || $(win8 > 0)) { 
     $('<link rel="stylesheet" type="text/css" href="/css/fontello-windows.css?3" />').insertAfter('head'); 
    }; 
}(); 

或者使用功能:

function checkWin() { 
    if ($(winxp > 0) || $(winvs > 0) || $(win7 > 0) || $(win8 > 0)) { 
     $('<link rel="stylesheet" type="text/css" href="/css/fontello-windows.css?3" />').insertAfter('head'); 
    }; 
} 

window.onload = checkWin(); 

查看此tutorial瞭解更多詳情

+0

謝謝你的回答,我想點擊向上箭頭給你,但我是新手,沒有足夠的積分 – user2734550

相關問題