jquery.1.9 より前のバージョンでは、$.browser を使用してブラウザの種類とバージョンを簡単に確認できますが、1.9 以降のバージョンでは、$.browser が削除されています。この機能が困っている友達を助けることができれば幸いです。
1. カスタムコード:
$.browser.mozilla = /firefox/.test(navigator.userAgent.toLowerCase()); $.browser.webkit = /webkit/.test(navigator.userAgent.toLowerCase()); $.browser.opera = /opera/.test(navigator.userAgent.toLowerCase()); $.browser.msie = /msie/.test(navigator.userAgent.toLowerCase());
上記のコードでは、等号の後の式の戻り値はブール型で、このブラウザがサポートされているかどうかを示すために使用されます。これにより、カスタム $.browser 効果が実現します。
2. IE6 ブラウザを決定します:
jquery1.9 より前では次のコードを使用してください:
if ($.browser.msie && 7 > $.browser.version) {}
jquery1.9 以降では、次のコードを使用します:
if ('undefined' == typeof(document.body.style.maxHeight)) {}
3. IE6 ~ IE8 ブラウザを決定します:
if (!$.support.leadingWhitespace) {}
まとめると、要件はほぼ達成されているので、ここではあまり紹介しません。
知識ポイントを拡張する:
jQuery.browser の定義と使用法:
ブラウザ カーネルの識別。navigator.userAgent に基づいて判断されます。
利用可能な値: safari、opera、msie、mozilla。
この属性で使用されるブラウザ オブジェクト検出テクノロジは、信頼性の高いブラウザ検出サポートを提供します。
jQuery 1.9 で削除されました。
Web ページが Opera ブラウザで実行されている場合、jQuery.browser.opera は true を返し、それ以外の場合は false を返します。
他の属性値も同様に推定できます。
コード例:
<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.jb51.net/" /> <title>脚本之家</title> <script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script> <script type="text/javascript"> $(document).ready(function(){ alert($.browser.msie); }); </script> </head> <body> 如果在IE浏览器中运行则返回true,否则返回false。 </body> </html>
typeof 演算子の使用法:
typeof 演算子はオペランドの前に配置され、オペランドのデータ型を検出し、オペランドの型を説明する文字列を返します。
オペランドには変数または値を指定できます。
typeof 演算子によって返される可能な値:
1. 変数に値が割り当てられていない場合、または変数値が未定義に割り当てられている場合は、unknown が返されます。
例:
var a console.log(typeof(a))
変数 a には値が割り当てられていません。この時点では、変数にはデフォルトで暗黙的に未定義が割り当てられています。出力結果:未定義。
var a=undefined; console.log(typeof(a))
変数 a には未定義の値が代入されます。出力結果:未定義。
2. 変数または値がブール型の場合は、ブール値を返します。
コード例:
console.log(typeof (true))
出力結果: ブール値。
var a=2,b=1,c=3,d; d=a+b; console.log(typeof(c==d))
出力結果: ブール値。
3. 変数または値が数値型の場合は、数値を返します。
console.log(typeof(1))
出力結果:数値。
4. 変数または値が文字列の場合は、文字列を返します。
console.log(typeof("mayi"))
出力結果: 文字列。
console.log(typeof("a"))
ECMAScript には文字タイプはありません。したがって、このコードは文字列も出力します。
5. 変数が参照型または null の場合、オブジェクトが返されます。
注: null はオブジェクトのプレースホルダーと見なすことができるため、戻り値もオブジェクトになります。
コード例:
var a=new Date; console.log(typeof(a))
参照型である時間オブジェクト インスタンス a を作成します。出力結果: object.
console.log(typeof(null))
出力結果: オブジェクト。
6. 変数が関数の場合、関数を返します
console.log(typeof(function(){alert("大家好")}))
出力結果: 関数。
var a=function(){alert("大家好")} console.log(typeof(a))
出力結果: 関数。