*
* IE7でswfobjectが動作しない件
* https://web.archive.org/web/20130317163030/http://mtl.recruit.co.jp/blog/2008/02/ie7swfobject.html
+ *
+ * flash player 10, ie6+, ff2+, safari3, opera9.5
+ * flash player 11, ie7+, ff4(?), safari5, opera11
+ * flash player 12, ie8+, ff17, opera11
+ *
+ * http://helpx.adobe.com/jp/flash-player/kb/228683.html
+ * flash player 9, Mac 10.1-10.3, 98, ME
+ * flash player 10.1, Mac 10.4
+ * flash player 10.3, Mac 10.5
+ * flash player 11.1, Win2k, Android 2.x-4.x
*/
var X_Pulgin_FLASH_VERSION =
- !X.UA.IE && navigator.plugins[ 'Shockwave Flash' ] ?
- parseFloat( navigator.plugins[ 'Shockwave Flash' ].version ) :
- X.UA.ActiveX ? (function(){
- var obj = eval( 'var a;try{a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(e){}a' ),
- ver = obj && obj.GetVariable( '$version' ).split( ' ' ).join( '.' );
+ !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;
})() :
0,
X_Pulgin_FLASH_ENABLED =
- X.UA.ActiveX ? !!X_Pulgin_FLASH_VERSION :
- navigator.mimeTypes &&
- navigator.mimeTypes[ 'application/x-shockwave-flash' ] &&
- navigator.mimeTypes[ 'application/x-shockwave-flash' ].enabledPlugin,
+ 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.UA.IE && navigator.plugins[ 'Silverlight Plug-In' ] ?
- parseFloat( navigator.plugins[ 'Silverlight Plug-In' ].version ) :
- X.UA.ActiveX && 6 <= X.UA.IE ? (function(){
- return eval( 'var a,i=0;try{a=new ActiveXObject("AgControl.AgControl");for(i=5;i;--i)if(a.IsVersionSupported(i+".0"))break;}catch(e){i=0}i' );
+ !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;
+
+ for( ; i; --i ){
+ if( obj[ 'IsVersionSupported' ]( i + '.0' ) ) return i;
+ };
+ return 0;
})() :
0,
X_Pulgin_SILVER_LIGHT_ENABLED =
- X.UA.ActiveX ? !!X_Pulgin_SILVER_LIGHT_VERSION :
- navigator.mimeTypes &&
- navigator.mimeTypes[ 'application/x-silverlight' ] &&
- navigator.mimeTypes[ 'application/x-silverlight' ].enabledPlugin,
+ 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.UA.IE && navigator.plugins[ 'Unity Player' ] ?
- parseFloat( navigator.plugins[ 'Unity Player' ].version ) :
- X.UA.ActiveX ? (function(){
- var obj = eval( 'var a;try{a=new ActiveXObject("UnityWebPlayer.UnityWebPlayer.1")}catch(e){}a' );
- return obj ? parseFloat( obj.GetPluginVersion() ) : 0;
+ !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 :
- navigator.mimeTypes &&
- navigator.mimeTypes[ 'application/vnd.unity' ] &&
- navigator.mimeTypes[ 'application/vnd.unity' ].enabledPlugin;
+ X_UA[ 'ActiveX' ] ? !!X_Pulgin_UNITY_VERSION :
+ X_Object_find( navigator, 'mimeTypes>application/vnd.unity>enabledPlugin' ),
-X.Pulgin = {
+ X_Pulgin_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' )
+ );
- Flash : X_Pulgin_FLASH_VERSION,
+ // QuickTime Plug-in 7.7.6
+ /*
+ X_Pulgin_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;
+ };
+ return 0;
+ })( navigator.plugins ) :
+ !X_UA[ 'IE4' ] && !X_UA[ 'IE5' ] && X_UA[ 'ActiveX' ] ? (function(){
+ var obj = QuickTimeCheckObject.QuickTimeCheck.1' ),
+ ver = obj && obj[ 'QuickTimeVersion' ].toString( 16 );
- FlashEnabled : X_Pulgin_FLASH_ENABLED,
+ return ver ? parseFloat( ver.substr( 0, 3 ) ) / 100 : 0;
+ })() :
+ 0, */
- Silverlight : X_Pulgin_SILVER_LIGHT_VERSION,
+
+/**
+ * @namespace X.Pulgin
+ */
+X[ 'Pulgin' ] = {
- SilverlightEnabled : X_Pulgin_SILVER_LIGHT_ENABLED,
+ 'Flash' : X_Pulgin_FLASH_VERSION,
+
+ 'FlashEnabled' : X_Pulgin_FLASH_ENABLED,
+
+ 'Silverlight' : X_Pulgin_SILVER_LIGHT_VERSION,
+
+ 'SilverlightEnabled' : X_Pulgin_SILVER_LIGHT_ENABLED,
+
+ 'Unity' : X_Pulgin_UNITY_VERSION,
- Unity : X_Pulgin_UNITY_VERSION,
+ 'UnityEnabled' : X_Pulgin_UNITY_ENABLED,
- UnityEnabled : X_Pulgin_UNITY_ENABLED
+ //'QuickTime' : X_Pulgin_QUICKTIME_VERSION,
+
+ 'GearsEnabled' : !!X_Pulgin_GEARS_ENABLED
};
+
+//if( X_Pulgin_GEARS_ENABLED ) alert( 'X_Pulgin_GEARS_ENABLED' );
+