勉強したことのメモ

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

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

   2024/05/22  JavaScript

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

 

ソースコード

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でのエラーログ

PHPでのエラーログ取りが思いのほか便利だったので JSについても簡単にログ取り ...

JavaScriptで配列をコピー後に値変更した際、元の配列の値も変更される点を解消する方法

JavaScriptで配列をコピー後に値変更した際、元の配列の値も変更されてしま ...

バニラJS対応(jQuery非依存)の画像遅延読み込みライブラリ「lazysizes」の利用方法

あるサイトのコーディングデータを貰った際に「lazysizes」というJavaS ...

JavaScriptで全角半角を判別の上で文字数カウントを行う

やりたかった事は「全角5文字・半角10文字以内の入力フォーム」 みたいなもの。 ...

JavaScriptの変数宣言であるvar / let / constの使い分けについて

JavaScript関連の調べ物をしていた際、変数の宣言時にvarではなくlet ...