OSDN Git Service

Fix the bug of X.NodeAnime.
[pettanr/clientJs.git] / 0.6.x / js / 03_plugin / 00_XPlugin.js
index 6be1a47..550f607 100644 (file)
  * flash player 10.3, Mac 10.5
  * flash player 11.1, Win2k, Android 2.x-4.x
  */
-var X_Pulgin_FLASH_VERSION =
+var X_Plugin_FLASH_VERSION =
                !X_UA[ 'IE' ] || !X_UA[ 'ActiveX' ] ? parseFloat( X_Object_find( navigator, 'plugins>Shockwave Flash>version' ) || 0 ) :
                !X_UA[ 'IE4' ] && !X_UA[ 'IE5' ] && X_UA[ 'ActiveX' ] ? (function(){
-                           var obj = X_Script_createActiveXObjectSafty( 'ShockwaveFlash.ShockwaveFlash' ),
-                               ver = obj && obj[ 'GetVariable' ]( '$version' ).split( ' ' ).join( '.' );
-                               return parseFloat( ver ) || 0;
+                           var obj = X_Script_createActiveXObjectSafty( 'ShockwaveFlash.ShockwaveFlash' );
+                           
+                               return parseFloat( obj && obj[ 'GetVariable' ]( '$version' ).split( 'WIN ' )[ 1 ] ) || 0;
                        })() :
                        0,
 
-       X_Pulgin_FLASH_ENABLED =
-               X_UA[ 'ActiveX' ] ? !!X_Pulgin_FLASH_VERSION :
-                       X_Object_find( navigator, 'mimeTypes>application/x-shockwave-flash>enabledPlugin' ),
-
-/*
- * ie11 の 互換モード(8,7)では、Silverlight が動作しない?
- */
-       X_Pulgin_SILVER_LIGHT_VERSION = 
+       X_Plugin_SILVER_LIGHT_VERSION = 
                !X_UA[ 'IE' ] || !X_UA[ 'ActiveX' ] ? parseFloat( X_Object_find( navigator, 'plugins>Silverlight Plug-In>version' ) || 0 ) :
                X_UA[ 'ActiveX' ] && 6 <= X_UA[ 'IE' ] ? (function(){
                            var obj = X_Script_createActiveXObjectSafty( 'AgControl.AgControl' ),
-                               i = obj ? 5 : 0, f;
+                               i = obj ? 5 : 0;
 
                            for( ; i; --i ){
                                if( obj[ 'IsVersionSupported' ]( i + '.0' ) ) return i;
@@ -45,36 +38,41 @@ var X_Pulgin_FLASH_VERSION =
                        })() :
                        0,
 
-       X_Pulgin_SILVER_LIGHT_ENABLED =
-               X_UA[ 'ActiveX' ] ? !!X_Pulgin_SILVER_LIGHT_VERSION :
-                       X_Object_find( navigator, 'mimeTypes>application/x-silverlight>enabledPlugin' ),
-
 //http://docs.unity3d.ru/Manual/Detecting%20the%20Unity%20Web%20Player%20using%20browser%20scripting.html
-       X_Pulgin_UNITY_VERSION =        
+       X_Plugin_UNITY_VERSION =        
                !X_UA[ 'IE' ] || !X_UA[ 'ActiveX' ] ?
                        parseFloat( X_Object_find( navigator, 'plugins>Unity Player>version' ) || 0 ) :
                !X_UA[ 'IE4' ] && !X_UA[ 'IE5' ] && X_UA[ 'ActiveX' ] ? (function(){
                            var obj = X_Script_createActiveXObjectSafty( 'UnityWebPlayer.UnityWebPlayer.1' );
+
                            return obj ? parseFloat( obj[ 'GetPluginVersion' ]() ) : 0;
                        })() :
                        0,
 
-       X_Pulgin_UNITY_ENABLED =
-               X_UA[ 'ActiveX' ] ? !!X_Pulgin_UNITY_VERSION :
-                       X_Object_find( navigator, 'mimeTypes>application/vnd.unity>enabledPlugin' ),
-
-       X_Pulgin_GEARS_ENABLED =
+       X_Plugin_GEARS_ENABLED =
                window.GearsFactory ||
                ( X_UA[ 'ActiveX' ] && 6 <= X_UA[ 'IE' ] ?
                        (function(){
                            return X_Script_createActiveXObjectSafty( 'Gears.Factory' );
                        })() :
                        X_Object_find( navigator, 'mimeTypes>application/x-googlegears>enabledPlugin' )
-               );
-       
+               ),
+
+// https://support.microsoft.com/ja-jp/kb/279022
+// Windows Media Player 7 がクライアントにインストールされている場合に、自動的に Web ページに埋め込む方法
+// TODO GeckoActiveXObject
+       X_Plugin_WMP_VERSION =  
+               !X_UA[ 'IE' ] || !X_UA[ 'ActiveX' ] ? 0 :
+               (function(){
+                           var obj = X_Script_createActiveXObjectSafty( 'WMPlayer.OCX.7' );
+
+                           return obj ? parseFloat( obj[ 'versionInfo' ] ) :
+                               X_Script_createActiveXObjectSafty( '{22D6F312-B0F6-11D0-94AB-0080C74C7E95}' ) ? 6.4 : 0;
+                       })();
+
        // QuickTime Plug-in 7.7.6
        /*
-       X_Pulgin_QUICKTIME_VERSION =
+       X_Plugin_QUICKTIME_VERSION =
                        !X_UA[ 'IE' ] || !X_UA[ 'ActiveX' ] ? (function( plugins, k ){
                                for( k in plugins ){
                                        if( k.indexOf( 'QuickTime' ) === 0 ) return parseFloat( k.substr( 18 ) ) || 0;
@@ -89,29 +87,26 @@ var X_Pulgin_FLASH_VERSION =
                                })() :
                                0, */
 
-
 /**
- * @namespace X.Pulgin
+ * @namespace X.Plugin
  */
-X[ 'Pulgin' ] = {
+X[ 'Plugin' ] = {
        
-       'Flash'              : X_Pulgin_FLASH_VERSION,
+       'Flash'       : X_Plugin_FLASH_VERSION,
 
-       'FlashEnabled'       : X_Pulgin_FLASH_ENABLED,
+       // FlashLite
 
-       'Silverlight'        : X_Pulgin_SILVER_LIGHT_VERSION,
-       
-       'SilverlightEnabled' : X_Pulgin_SILVER_LIGHT_ENABLED,
+       'Silverlight' : X_Plugin_SILVER_LIGHT_VERSION,
        
-       'Unity'              : X_Pulgin_UNITY_VERSION,
+       'Unity'       : X_Plugin_UNITY_VERSION,
        
-       'UnityEnabled'       : X_Pulgin_UNITY_ENABLED,
+       //'QuickTime'          : X_Plugin_QUICKTIME_VERSION,
        
-       //'QuickTime'          : X_Pulgin_QUICKTIME_VERSION,
+       'Gears'       : !!X_Plugin_GEARS_ENABLED,
        
-       'GearsEnabled'       : !!X_Pulgin_GEARS_ENABLED
+       'WMP'         : X_Plugin_WMP_VERSION
        
 };
 
-//if( X_Pulgin_GEARS_ENABLED ) alert( 'X_Pulgin_GEARS_ENABLED' );
+//if( X_Plugin_GEARS_ENABLED ) alert( 'X_Plugin_GEARS_ENABLED' );