2012-02-09 58 views
0

我有一個名爲android.html的頁面,並帶有一個ID爲「detect」的按鈕。當你點擊按鈕時,一個腳本會檢查你的android設備上的us header的操作系統版本。如果腳本的版本是3.0或更高版本,我將如何更改腳本以應用樣式,如果版本是2.9或更低版本,我將如何更改腳本以應用樣式。這裏是最難的部分...我不想將css樣式應用於android.html頁面,而是將其轉到您點擊按鈕時重定向到的playlist.html頁面。jquery更改下一頁的css

HTML

<div id="detect">button</div> 

JS

$('#detect').click(function() { 
if (/Android (\d+(?:\.\d+)+)/.test(navigator.userAgent)){ 
var version=new Number(RegExp.$1) 
if (version>=3) 
    //redirect to playlist.html using style1.css 
} 
else 
//redirect to playlist.html using style2.css 
}); 
+1

只需在播放列表頁面的document.ready中進行檢查並加載相應的樣式表,而不是使用兩個單獨的重定向,會不會更容易? – Carter 2012-02-09 00:17:51

+0

同意。你應該真的在播放列表文件中檢查。 – pseudosavant 2012-02-09 01:01:15

回答

0

將重定向的查詢字符串鍵值對添加到允許下一頁知道加載哪個樣式表的重定向中,或者僅在下一頁加載時檢查用戶代理字符串。

$('#detect').click(function() { 
    if (/Android (\d+(?:\.\d+)+)/.test(navigator.userAgent)){ 
     var version=new Number(RegExp.$1) 
     if (version>=3) 
      window.location = 'playlist.html?style=1'; 
     } else { 
      window.location = 'playlist.html?style=2'; 
     } 
    } 
}); 
然後 playlist.html頁面上

if (window.locaion.search.indexOf('style=1') > -1) { 
    $.getScript('style1.css'); 
} else if (window.locaion.search.indexOf('style=2') > -1) { 
    $.getScript('style2.css'); 
} 

if/then檢查是非常簡單的。更好的方法是獲取數組中的查詢字符串參數,檢查style鍵,然後加載相應的值。

+0

我會把什麼,以playlist.html閱讀查詢字符串? – Blainer 2012-02-09 00:13:34

+0

@Blainer我剛剛更新了我的答案,如何檢查一個值的'window.location.search'屬性。如果您使用的是像PHP這樣的服務器端腳本語言,我建議您在服務器端而不是客戶端進行檢查。 – Jasper 2012-02-09 00:15:17

+0

由於某種原因,當我點擊按鈕時,它甚至沒有將我重定向到playlist.html。 – Blainer 2012-02-09 00:21:19

0

重定向到一個查詢字符串的HTML頁面,即playlist.html?CSS = V1或V2,然後檢查在下次GET PARAM頁面幷包含相應的css文件。

0

可能需要將查詢字符串變量傳遞給指定「反轉」的重定向,然後檢查該變量並根據第二頁上的值插入.css文件。