ホームページ ウェブフロントエンド jsチュートリアル ブラウザの JavaScript バージョンを決定するコード_JavaScript スキル

ブラウザの JavaScript バージョンを決定するコード_JavaScript スキル

May 16, 2016 pm 06:20 PM

彼は、実行されるコードは < script language="JavaScript1.2" > に示すようにネストする必要があると述べました。しかし、JavaScript のバージョンを検出するように求められたとき、次のコードが表示されました:

コードをコピーします コードは次のとおりです:

var JS_ver = [];
(Number.prototype.toFixed)?JS_ver.push("1.5"):false;
([].indexOf && [].forEach)? JS_ver.push("1.6 "):false;
((function(){try {[a,b] = [0,1];return true;}catch(ex) {return false;}})( ))?JS_ver.push ("1.7"):false;
([].reduce && [].reduceRight && JSON)?JS_ver.push("1.8"):false; )?JS_ver.push( "1.8.1"):false;
JS_ver.supports = function()
{
if (arguments[0])
return (!!~this.join) ().indexOf(arguments [0] ",") ",");
else
return (this[this.length-1])
}
alert("最新の Javascript バージョン)サポートされている: " JS_ver.supports ());
alert("バージョン 1.7 のサポート : " JS_ver.supports("1.7"));

このスクリプトは JavaScript のバージョンを検出するだけではありません機能を検出するだけでなく、特定の JavaScript バージョンでサポートされている機能も確認します。
結果が得られました。このシステムが JavaScript のバージョンをどのように検出するかを見てみましょう。そこでコードを抽出し (抽出プロセスは非常に複雑でした)、次のコードを取得しました:

コードをコピーします コードは次のとおりです:
<script type="text/javascript">
var n = navigator ;
var u = n.userAgent;
var v = n.appVersion;
if( ie > 0){
apv = parseInt(i = v.substring(ie 5));
if(apv > 3) {
apv = parseFloat(i); 🎜>} else{
apv = parseFloat(v);
}
var isie = (apn == 'Microsoft Internet Explorer');
var ismac = (u.indexOf('Mac' ) > = 0);
var javascriptVersion = "1.0";
javascriptVersion = '1.1'; >javascriptVersion = '1.2';
var tm = 新しい日付;
if(tm.setUTCDate){
javascriptVersion = '1.3' >if(isie && ismac &>= 5) javascriptVersion = ' 1.4';
if(pn.toPrecision){
a = 新しい配列; {
javascriptVersion = '1.6';
o = 新しいオブジェクト
tcf = new Function('o','var e,i=0;try{i=new) Iterator(o )}catch(e){}return i');
i = tcf(o);
if(i && i.next) {
javascriptVersion = '1.7'; }
}
}
}
}
}
alert(javascriptVersion);


コードの実装原則:バージョンの違いに応じて、JavaScript はバージョンを決定するためにいくつかの特定の関数のサポートが異なります。バージョン 1.4 に対する特別な処理は 1 つだけです。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JavaScriptの文字列文字を交換します JavaScriptの文字列文字を交換します Mar 11, 2025 am 12:07 AM

JavaScriptの文字列文字を交換します

カスタムGoogle検索APIセットアップチュートリアル カスタムGoogle検索APIセットアップチュートリアル Mar 04, 2025 am 01:06 AM

カスタムGoogle検索APIセットアップチュートリアル

例JSONファイルの例 例JSONファイルの例 Mar 03, 2025 am 12:35 AM

例JSONファイルの例

10 jQuery構文蛍光物 10 jQuery構文蛍光物 Mar 02, 2025 am 12:32 AM

10 jQuery構文蛍光物

8見事なjQueryページレイアウトプラグイン 8見事なjQueryページレイアウトプラグイン Mar 06, 2025 am 12:48 AM

8見事なjQueryページレイアウトプラグイン

独自のAjax Webアプリケーションを構築します 独自のAjax Webアプリケーションを構築します Mar 09, 2025 am 12:11 AM

独自のAjax Webアプリケーションを構築します

&#x27; this&#x27; JavaScriptで? &#x27; this&#x27; JavaScriptで? Mar 04, 2025 am 01:15 AM

&#x27; this&#x27; JavaScriptで?

10 JavaScript&JQuery MVCチュートリアル 10 JavaScript&JQuery MVCチュートリアル Mar 02, 2025 am 01:16 AM

10 JavaScript&JQuery MVCチュートリアル

See all articles