簡體   English   中英

使用jQuery 1.3及更高版本檢測IE8,IE7,Safari,FireFox?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM