Heim  >  Artikel  >  Web-Frontend  >  jQuery-Notizen – Toolfunktionen – jQuery-Logo

jQuery-Notizen – Toolfunktionen – jQuery-Logo

巴扎黑
巴扎黑Original
2017-07-08 11:10:581214Durchsuche

jQuery definiert viele Toolfunktionen. Der Namespace dieser Funktionen ist $, aber sie können nicht als Funktion der obersten Ebene betrachtet werden Sie werden auf der $-Instanz definiert und nicht auf der Fensterinstanz, ähnlich wie bei einer statischen Typfunktion.

Im Allgemeinen besteht die Hauptaufgabe von Toolfunktionen darin, andere JavaScript-Objekte als DOM zu bedienen oder einige nicht objektbezogene Vorgänge auszuführen.

jQuery stellt Entwicklern einige nützliche Kundeninformationen über auf $ definierte Variablen zur Verfügung. Durch diese Flag-Informationen können die Funktionen des aktuellen Browsers leicht erkannt werden, sodass Benutzer basierend auf diesen Informationen Entscheidungen treffen können.

Diese Flag-Informationen umfassen: jQuery.browser, jQuery.boxModel und jQuery.support

1 Agent

Browser-Erkennungsmethode:

1. Zeichenfolgenerkennungsmethode: Erkennung basierend auf dem Rückgabewert der Eigenschaft navigator.userAgent. Allerdings unterstützt jQuery diese Methode ab Version 1.3 nicht mehr. Der Grund dafür ist, dass sie umständlich zu verwenden ist und den intelligenten Funktionen von jQuery zuwiderläuft.

2. Funktionserkennungsmethode: Bestimmen Sie die Betriebsmethode basierend darauf, ob der Browser bestimmte Funktionen unterstützt.

Nicht präzise, ​​am sichersten

Wenn Ihnen die Identität des Browsers egal ist und nur die Ausführungsfähigkeit des Browsers wichtig ist, reicht diese Methode aus, um diese Methode zu verwenden.

Zum Beispiel:

            var a;
            if(document.getElementsByName){               //如果存在getElementsByName,则使用该方法获取a元素
                a = document.getElementsByName("a");
            }
            else if(document.getElementsByTagName){       //如果存在getElementsByTagName,则使用该方法获取a元素
                a = document.getElementsByTagName("a")
            }
Bei der Verwendung eines Objekts, einer Methode oder einer Eigenschaft können Sie zunächst prüfen, ob der aktuelle Browser dies unterstützt. Wenn der Browser dies in einem logischen Ausdruck unterstützt, wird das Objekt, die Eigenschaft oder die Methode zurückgegeben, und JavaScript erzwingt die Konvertierung dieser Objekte oder Mitglieder in „true“. Wenn dies nicht unterstützt wird, wird undefiniert zurückgegeben und von JavaScript automatisch in „false“ konvertiert.

Hinweis: Fügen Sie beim Erkennen einer Methode oder Funktion keine Klammern hinzu, da sonst der JavaScript-Interpreter die Methode oder Funktion aufruft und ein Kompilierungsfehler auftritt, wenn die angegebene Funktion nicht vorhanden ist.

Browsertyp erkennen:

js: var browser = navigator.userAgent

jQuery: Browsereigenschaft. Ermöglicht die Erkennung der vier beliebtesten Browserklassen wie Internet Explorer, Mozilla, Webkit, Opera und jedes Versionsinformationsflags.

                                                  Zu den verfügbaren Flags gehören: Webkit, Safari (veraltet), Opera, Msie und Mozilla.

                                                                                                     1.9 wurde entfernt.

wird verwendet, um Informationen über den aktuell vom Benutzer verwendeten Browser zurückzugeben.                                                                   gent-Attribut zur Ermittlung von

Browserinformationen

, sodass die Identifizierung nicht unbedingt korrekt ist. 2. Erkennungsboxmodell

jQuery.boxModel: Die Flagge can Ruft ab, welches Boxmodell die aktuelle Seite verwendet. true: W3C-Standard-Box-Modell; false: IE-Browser-Box-Modell

                                  jQuery1.0 新增该静态属性;1.3中被标记已过时,请使用 jQuery.support.boxModel替代;1.8中被移除。

除IE浏览器外,其他浏览器都支持W3C标准盒模型,而IE浏览器能够根据页面模式(严格模式或怪异模式)有选择的使用不同类型的盒模型。如果页面顶部声明了文档类型(DOCTYPE),则IE也会采用严格模式,即W3C标准盒模型解析元素。如果文档当中没有包含文档类型(DOCTYPE),或者包含了无法识别的文档类型声明,即会以怪异模式显示,并按IE的传统的盒模型来解析元素。

IE传统的盒模型和W3C标准盒模型的区别:

1.IE传统盒模型:width和height属性包含内边距和边框宽度

2.W3C标准盒模型:width和height属性不包含内边距和边框宽度

用JavaScript检测盒模型:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>检测盒模型[JavaScript]</title>
    <script src="js/jquery2.1.3.min.js"></script>
    <script type="text/javascript">
        function isBoxModel(){
            var p = document.createElement("p");
            p.style.width = p.style.paddingLeft = "1px";
            document.body.appendChild(p);
            var width = p.offsetWidth;
            p.style.display = "none";
            document.body.removeChild(p);
            return width === 2;
        }
        window.onload = function(){
            alert(isBoxModel() && "支持W3C标准盒模型" || "支持IE的怪异解析模式");
        }
    </script>
</head>
<body>
</body>
</html>

三、检测功能或缺陷

jQuery的support属性:

返回一个Object对象,在该对象中包含了一组属性,他们代表了不同的浏览器功能或缺陷的存在的合集。

该对象的属性并不是一成不变的,jQuery也并不保证指定的属性在未来的版本中一定可用,这些属性主要供插件或内核开发人员使用。



Das obige ist der detaillierte Inhalt vonjQuery-Notizen – Toolfunktionen – jQuery-Logo. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn