ブラウザがサポートしているJavaScriptのバージョンを検出するにはどうすればよいですか?私はECMAScript 3とECMAScript 5とECMAScript 6を確認したい。JavaScriptのバージョンを検出します。
注:廃止予定のlanguage
タグを避けたい。ここで
ブラウザがサポートしているJavaScriptのバージョンを検出するにはどうすればよいですか?私はECMAScript 3とECMAScript 5とECMAScript 6を確認したい。JavaScriptのバージョンを検出します。
注:廃止予定のlanguage
タグを避けたい。ここで
の非推奨の言語属性を使用しますが、誰かがどのブラウザを使用しているのか、どのバージョンのJSを使用しているのかを把握するのではなく、機能検出を行う方が好きです。
Modernizrをチェックしてください。これは、機能の検出を行う素晴らしいライブラリです。
はあなたのために良いの参照です:http://www.docsteve.com/DocSteve/Samples/JS/js_version.html
基本的に、私はそれはあなたが情報をどうしたいのかに依存するとしたスクリプトタグ
<script language="javascript">var js_version="1.0"</script>
<script language="javascript1.1">var js_version="1.1"</script>
<script language="javascript1.2">var js_version="1.2"</script>
<script language="javascript1.3">var js_version="1.3"</script>
<script language="javascript1.4">var js_version="1.4"</script>
<script language="javascript1.5">var js_version="1.5"</script>
<script language="javascript1.6">var js_version="1.6"</script>
これは、推奨されていない属性 'language'を使用していても、私が提案しようとしているものです。 JSバージョンをECMAScriptバージョンにマップする必要があります。 http://en.wikipedia.org/wiki/ECMAScript#Version_correspondence –
@Juan - ehh true、しかし、あなたは本当にこの場合にそれを防ぐことはできません。 – Neal
ソリューションは、( "のcreateElement" の建設を使用して)http://www.docsteve.com/DocSteve/Samples/JS/js_version.htmlとして、簡単なJavaScript関数への提案:
<script type="text/javascript">
function get_js_version()
{
this.jsv = {
versions: [
"1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9", "2.0"
],
version: ""
};
var d = document;
for (i = 0; i < jsv.versions.length; i++) {
var g = d.createElement('script'),
s = d.getElementsByTagName('script')[0];
g.setAttribute("language", "JavaScript" + jsv.versions[i]);
g.text = "this.jsv.version='" + jsv.versions[i] + "';";
s.parentNode.insertBefore(g, s);
}
return jsv.version;
}
document.write('JavaScript Version: ' + get_js_version());
</script>
一時的に注入し、検出後に消去するための素晴らしいソリューションです。ライブラリの統合は不要です。 – ahnbizcad
私はどこでもJSバージョン1.9と2.0についての情報を見つけることができませんでした。最新バージョンは1.8.5か? https://en.wikipedia.org/wiki/JavaScript#Version_history –
これは、あなたのブラウザーで使用されているJavaScriptのバージョンと警告ボックスを飛び出し:
<script type="text/javascript">
var jsver = 1.0;
</script>
<script language="Javascript1.1">
jsver = 1.1;
</script>
<script language="Javascript1.2">
jsver = 1.2;
</script>
<script language="Javascript1.3">
jsver = 1.3;
</script>
<script language="Javascript1.4">
jsver = 1.4;
</script>
<script language="Javascript1.5">
jsver = 1.5;
</script>
<script language="Javascript1.6">
jsver = 1.6;
</script>
<script language="Javascript1.7">
jsver = 1.7;
</script>
<script language="Javascript1.8">
jsver = 1.8;
</script>
<script language="Javascript1.9">
jsver = 1.9;
</script>
<script type="text/javascript">
alert(jsver);
</script>
本当にバージョンを確認する必要がありますか、機能が十分であることを確認してください。 (私たちはforEachを持っています) ') –
バージョン検出よりも機能検出を強くお勧めします。時間の経過とともに維持するのがずっと簡単で、通常は気になるものをより正確にテストします。与えられたECMAScript 5の実装はすべてでも何もないわけではないことを覚えておいてください。多くのブラウザには新しいバージョンの要素がいくつかありますが、すべてではありません。 – jfriend00
この便利な情報もありますhttp://kangax.github.io/compat-table/es5/ –