ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery ノート - ツール機能 - jQuery ロゴ

jQuery ノート - ツール機能 - jQuery ロゴ

巴扎黑
巴扎黑オリジナル
2017-07-08 11:10:581281ブラウズ

jQuery は多くのツール関数を定義します。これらの関数の 名前空間は $ ですが、ユーザーはそれをトップレベル関数として扱うことができません。実際には、静的に型付けされた関数に似ています。

一般的に言えば、ツール関数の主なタスクは、DOM 以外の

JavaScript オブジェクト を操作すること、またはオブジェクトに関連しない操作を実行することです。

jQuery は、$ で定義された変数を通じて開発者に役立つ顧客情報を提供します。これらのフラグ情報を通じて、現在のブラウザーの機能を簡単に検出できるため、ユーザーはこの情報に基づいて決定を下すことができます。

これらのフラグ情報には、jQuery.browser、jQuery.boxModel、jQuery.supportが含まれます

1. ユーザーエージェントの検出

ブラウザ検出方法:

1. 文字列検出方法: ナビゲータによる。 userAgent 属性は検出用の値を返します。ただし、jQuery はバージョン 1.3 からこのメソッドをサポートしなくなりました。その理由は、使用するのが面倒であり、jQuery のスマートな機能に反しているためです。

2. 機能検出方法: ブラウザが特定の機能をサポートしているかどうかに基づいて操作方法を決定します。

非正確、最も安全 不 ブラウザの ID を気にせず、ブラウザの実行能力のみを気にする場合は、この方法で十分です。 R 例: re
            var a;
            if(document.getElementsByName){               //如果存在getElementsByName,则使用该方法获取a元素
                a = document.getElementsByName("a");
            }
            else if(document.getElementsByTagName){       //如果存在getElementsByTagName,则使用该方法获取a元素
                a = document.getElementsByTagName("a")
            }

オブジェクト、メソッド、または属性を使用する場合、まず現在のブラウザーがそれをサポートしているかどうかを検出できます。論理式では、ブラウザーが論理式をサポートしている場合、オブジェクト、プロパティ、またはメソッドが返され、JavaScript はこれらのオブジェクトまたはメンバーを強制的に true に変換します。サポートされていない場合は undefine が返され、JavaScript が自動的に false に変換します。

注: メソッドまたは関数を検出するときは、かっこを追加しないでください。追加すると、JavaScript インタプリタがメソッドまたは関数を呼び出し、指定された関数が存在しない場合はコンパイル エラーが発生します。

ブラウザの種類を検出します:

js: var browser = navigator.userAgent; jQuery: ブラウザのプロパティ。 Internet Explorer、Mozilla、Webkit、Opera などの最も一般的な 4 つのブラウザ クラスと各バージョン情報フラグを検出できます。 flag利用可能なフラグには、WebKit、Safari(DepRecated)、Opera、MSIE、Mozillaが含まれます。 R b $. jquery のブラウザ プロパティ

1.9は削除されました。

ユーザーが現在使用しているブラウザに関連する情報を返すために使用されます。

ブラウザーの検出にこの属性を使用することはお勧めできません。これは、Navigator.useragent プロパティに基づいて

ブラウザー情報

を決定するため、その識別は必ずしも正確ではありません。

2. ボックスモデルの検出

jQuery.boxModel: フラグは、現在のページでどのボックスモデルが使用されているかを取得できます。 true: W3C 標準ボックス モデル; false: IE ブラウザ ボックス モデル

                                  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也并不保证指定的属性在未来的版本中一定可用,这些属性主要供插件或内核开发人员使用。



以上がjQuery ノート - ツール機能 - jQuery ロゴの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。