我必須加載不同的樣式表,具體取決於用戶代理是iPad還是其他。我知道一般來說,檢測瀏覽器並不是最好的想法,並且可能會在未來某個時候削弱我們的可維護性。不是我的決定。加載依賴於用戶代理的樣式表
所以在這裏我們有一些JavaScript來檢測用戶代理。它不工作。我可能錯過了一些東西。我得到的錯誤是一個紅鯡魚(對象引用),但只在執行JavaScript時顯示。
$(document).ready(function() {
alert('ready fired');
if (navigator.userAgent.indexOf("iPad") != -1) {
//alert('bleep bloop blop...iPad detected');
var stringToWrite = '<script src=\'\<\%\= ResolveUrl("~/Scripts/iscroll.js") \%\>\' type="text/javascript"><\/script>';
stringToWrite += '<link href=\'\<\%\= ResolveUrl("~/Stylesheets/scrollbar.css") \%\>\' rel="stylesheet" type="text/css" \/>';
stringToWrite += '<link href=\'\<\%\= ResolveUrl("~/Stylesheets/iPadCommon.css") \%\>\' rel="stylesheet" type="text/css" \/>';
alert(stringToWrite);
document.write(stringToWrite);
}
//else
//alert('bleep bloop blop...who cares browser');
});
您的userAgent存在問題嗎?警報('嗶嗶嗶嗶blop ... iPad檢測');'調用(如果沒有註釋掉)? –
我個人想用服務器端語言來做這種檢查。 – locrizak
@Peppered檸檬 - 是啊,它被稱爲。檢測很好。必須是我的字符串轉義。希望有一個自動逃脫這個糟糕的字符串的JavaScript webapp在線。 –