ブラウザの 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 のバージョンをどのように検出するかを見てみましょう。そこでコードを抽出し (抽出プロセスは非常に複雑でした)、次のコードを取得しました:
コードをコピーします コードは次のとおりです:
<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 つだけです。
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 までご連絡ください。

人気の記事
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
1週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌

人気の記事
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
1週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック
Gmailメールのログイン入り口はどこですか?
7288
9


Java チュートリアル
1622
14


CakePHP チュートリアル
1342
46


Laravel チュートリアル
1259
25


PHP チュートリアル
1206
29

