[英]Detect IE8, IE7, Safari, FireFox with jQuery 1.3+?
我需要根據每個瀏覽器更改值,因為它們的呈現方式都不同。
if (navigator.appName == 'Netscape'){
top = 17;
}
這項工作正常,但不幸的是,Firefox和Safari都顯示為“ Netscape”
我將如何使用jQuery 1.3.2來檢測所有這些? 既然jquery.browser
不見了,我在jquery.support
下找不到任何信息。
謝謝!
如果您必須具有瀏覽器檢測功能(盡管有警告提示),則ppk的例程是最新的(甚至可以通過Chrome和iPhone運行)。
您是否考慮過使用reset.css
樣式表將所有瀏覽器的默認值設置為零? 如果沒有,我建議您這樣做,因為它可能會解決您當前的問題以及潛在的未來問題。
這可能會有所幫助,因為它將所有瀏覽器的基准設置為零,因此當您應用填充或定位時,它在所有瀏覽器中應具有相同的效果。
它們呈現了什么不同? 有沒有一種方法可以使用功能檢測而不是瀏覽器嗅探? 新瀏覽器問世時,它不太容易損壞,更能容忍這種情況。
您可以使用jQuery.browser
對象。 jQ 1.3中不推薦使用該方法,而推薦使用jQuery.support
,但是沒有立即計划將其完全刪除,因此您應該很安全。
也就是說,使用瀏覽器嗅探雖然非常容易並且很誘人,但這通常不是處理問題的最佳方法。 由於聽起來有些瀏覽器在處理CSS時會遇到問題,因此您可能需要查看jQuery.support.boxModel
。
它們均以不同的方式呈現工具提示的最高CSS值。
var container = $('<div id="personPopupContainer">'
+ '<div id="personPopupContent">'
+ '</div>'
+ '</div>');
var pos = $(this).offset();
var width = $(this).width();
var reposition = { left: (pos.left - width) + 'px', top: pos.top + msg + 'px' };
container.css({
top: reposition.top
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.