勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

JavaScriptでFlashのバージョンを取得する方法

   2024/05/22  JavaScript

Flashのバージョン取得をjavascriptで行うソースコードのを以下にメモ。

 

ソースコード

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
var flashVer = (function() {
if (navigator.plugins && navigator.mimeTypes['application/x-shockwave-flash']) {
var plugin = navigator.mimeTypes['application/x-shockwave-flash'].enabledPlugin;
if (plugin && plugin.description) {
var ver = plugin.description.replace(/^[A-Za-z\s]+/, '').replace(
/(\s+r|\s+b[0-9]+)/, ".");
}
} else {
var x = '';
try {
var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
x = axo.GetVariable("$version");
} catch (e) {
try {
axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
x = "WIN 6,0,21,0";
axo.AllowScriptAccess = "always";
x = axo.GetVariable("$version");
} catch (e) {
if (!x.match(/^WIN/)) {
try {
axo = null;
axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
x = axo.GetVariable("$version");
} catch (e) {
if (axo) {
x = "WIN 3,0,18,0";
} else {
try {
axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
x = "WIN 2,0,0,11";
} catch (e) {
x = "WIN 0,0,0,0";
}
}
}
}
}
}
ver = x.replace(/^WIN /, '').replace(/,[0-9]+$/, '').replace(/,/g, '.');
}
return (ver == '0.0.0') ? false : ver;
}());
var flashVer = (function() { if (navigator.plugins && navigator.mimeTypes['application/x-shockwave-flash']) { var plugin = navigator.mimeTypes['application/x-shockwave-flash'].enabledPlugin; if (plugin && plugin.description) { var ver = plugin.description.replace(/^[A-Za-z\s]+/, '').replace( /(\s+r|\s+b[0-9]+)/, "."); } } else { var x = ''; try { var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7"); x = axo.GetVariable("$version"); } catch (e) { try { axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"); x = "WIN 6,0,21,0"; axo.AllowScriptAccess = "always"; x = axo.GetVariable("$version"); } catch (e) { if (!x.match(/^WIN/)) { try { axo = null; axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3"); x = axo.GetVariable("$version"); } catch (e) { if (axo) { x = "WIN 3,0,18,0"; } else { try { axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); x = "WIN 2,0,0,11"; } catch (e) { x = "WIN 0,0,0,0"; } } } } } } ver = x.replace(/^WIN /, '').replace(/,[0-9]+$/, '').replace(/,/g, '.'); } return (ver == '0.0.0') ? false : ver; }());
var flashVer = (function() {
    if (navigator.plugins && navigator.mimeTypes['application/x-shockwave-flash']) {
        var plugin = navigator.mimeTypes['application/x-shockwave-flash'].enabledPlugin;
        if (plugin && plugin.description) {
            var ver = plugin.description.replace(/^[A-Za-z\s]+/, '').replace(
                /(\s+r|\s+b[0-9]+)/, ".");
        }
    } else {
        var x = '';
        try {
            var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
            x = axo.GetVariable("$version");
        } catch (e) {
            try {
                axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
                x = "WIN 6,0,21,0";
                axo.AllowScriptAccess = "always";
                x = axo.GetVariable("$version");
            } catch (e) {
                if (!x.match(/^WIN/)) {
                    try {
                        axo = null;
                        axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
                        x = axo.GetVariable("$version");
                    } catch (e) {
                        if (axo) {
                            x = "WIN 3,0,18,0";
                        } else {
                            try {
                                axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
                                x = "WIN 2,0,0,11";
                            } catch (e) {
                                x = "WIN 0,0,0,0";
                            }
                        }
                    }
                }
            }
        }
        ver = x.replace(/^WIN /, '').replace(/,[0-9]+$/, '').replace(/,/g, '.');
    }
    return (ver == '0.0.0') ? false : ver;
}());

 - JavaScript

  関連記事

JavaScriptにて「loglevel」ライブラリを利用して環境及びレベルによりログを出し分けする方法

JavaScriptにて何らかの確認の際にconsole.logを使うことが多い ...

「slick」で作成したスライダー画像にランキングの順位を表示する方法

「slick」で作成したスライダー画像に対して、ランキングの順位を表示したいとい ...

Leafletで表示したマップにジェスチャーハンドリングを追加する方法(Leaflet.GestureHandling)

GoogleMapをズームする際にPCだと「Ctrl+スクロール」、スマホだと「 ...

「slick」でarrows(次に進む・前に戻るボタン)を設定しても表示されない場合の対応方法

「slick」で画像スライダーを表示する際にarrows(次に進む・前に戻るボタ ...

FileReader APIを用いて画像をアップロードせずにサムネイル表示

以前にFile APIを用いてファイル名やサイズ、形式(拡張子)を取得するメモを ...

S