X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=0.6.x%2Fjs%2F03_plugin%2F00_XPlugin.js;h=aa9daf99abd09b7dd2522288f513ca7dabbe76b4;hb=1bfbfbb850a390a1c46546d445961966e4cdf063;hp=73bdf2f327e869f3eb30e3bd335ec429fc7a8be5;hpb=db532e067114718c69d226d08979d236416ae73d;p=pettanr%2FclientJs.git diff --git a/0.6.x/js/03_plugin/00_XPlugin.js b/0.6.x/js/03_plugin/00_XPlugin.js index 73bdf2f..aa9daf9 100644 --- a/0.6.x/js/03_plugin/00_XPlugin.js +++ b/0.6.x/js/03_plugin/00_XPlugin.js @@ -1,3 +1,24 @@ +/* + * VBS + */ + +if( false && 5 <= X_UA[ 'IE' ] && X_UA[ 'IE' ] < 11 ){ + (function(){ + + var script = document.createElement( "script" ) ; + script[ "type" ] = "text/vbscript" ; + script.text = [ + "Function vba_IEBinaryToArrayBytes()\n" , + " vba_IEBinaryToArrayBytes = 1\n" , + "End Function\n" + ].join( "" ) ; + document.getElementsByTagName("head")[ 0 ].appendChild( script ) ; + + // alert( vba_IEBinaryToArrayBytes() ); + })(); + +}; + /* * Flash Player 10 バージョン判別チェックリスト @@ -9,19 +30,25 @@ * 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' ] ? + !X_UA[ 'IE' ] && navigator.plugins[ 'Shockwave Flash' ] ? parseFloat( navigator.plugins[ 'Shockwave Flash' ].version ) : - !X_UA.IE4 && !X_UA.IE5 && 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[ 'IE4' ] && !X_UA[ 'IE5' ] && X_UA[ 'ActiveX' ] ? (function(){ + var obj = eval( 'var a,e;try{a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(e){}a' ), + ver = obj && obj[ 'GetVariable' ]( '$version' ).split( ' ' ).join( '.' ); return parseFloat( ver ) || 0; })() : 0, X_Pulgin_FLASH_ENABLED = - X_UA.ActiveX ? !!X_Pulgin_FLASH_VERSION : + X_UA[ 'ActiveX' ] ? !!X_Pulgin_FLASH_VERSION : navigator.mimeTypes && navigator.mimeTypes[ 'application/x-shockwave-flash' ] && navigator.mimeTypes[ 'application/x-shockwave-flash' ].enabledPlugin, @@ -30,47 +57,66 @@ var X_Pulgin_FLASH_VERSION = * ie11 の 互換モード(8,7)では、Silverlight が動作しない? */ X_Pulgin_SILVER_LIGHT_VERSION = - !X_UA.IE && navigator.plugins[ 'Silverlight Plug-In' ] ? + !X_UA[ 'IE' ] && navigator.plugins[ 'Silverlight Plug-In' ] ? parseFloat( navigator.plugins[ 'Silverlight Plug-In' ].version ) : - X_UA.ActiveX && 6 <= X_UA.IE && !X_UA.IECompat ? (function(){ + 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' ); })() : 0, X_Pulgin_SILVER_LIGHT_ENABLED = - X_UA.ActiveX ? !!X_Pulgin_SILVER_LIGHT_VERSION : + X_UA[ 'ActiveX' ] ? !!X_Pulgin_SILVER_LIGHT_VERSION : navigator.mimeTypes && navigator.mimeTypes[ 'application/x-silverlight' ] && 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' ] ? + !X_UA[ 'IE' ] && navigator.plugins[ 'Unity Player' ] ? parseFloat( navigator.plugins[ 'Unity Player' ].version ) : - !X_UA.IE4 && !X_UA.IE5 && 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[ 'IE4' ] && !X_UA[ 'IE5' ] && X_UA[ 'ActiveX' ] ? (function(){ + var obj = eval( 'var a,e;try{a=new ActiveXObject("UnityWebPlayer.UnityWebPlayer.1")}catch(e){}a' ); + return obj ? parseFloat( obj[ 'GetPluginVersion' ]() ) : 0; })() : 0, X_Pulgin_UNITY_ENABLED = - X_UA.ActiveX ? !!X_Pulgin_UNITY_VERSION : + X_UA[ 'ActiveX' ] ? !!X_Pulgin_UNITY_VERSION : navigator.mimeTypes && navigator.mimeTypes[ 'application/vnd.unity' ] && - navigator.mimeTypes[ 'application/vnd.unity' ].enabledPlugin; + navigator.mimeTypes[ 'application/vnd.unity' ].enabledPlugin, -X.Pulgin = { + X_Pulgin_GEARS_ENABLED = + window.GearsFactory || + ( X_UA[ 'ActiveX' ] && 6 <= X_UA[ 'IE' ] ? + (function(){ + return eval( 'var a,e;try{a=new ActiveXObject("Gears.Factory")}catch(e){}!!a' ); + })() : + navigator.mimeTypes && + navigator.mimeTypes[ 'application/x-googlegears' ] && + navigator.mimeTypes[ 'application/x-googlegears' ].enabledPlugin + ); + +/** + * @namespace X.Pulgin + */ +X[ 'Pulgin' ] = { - Flash : X_Pulgin_FLASH_VERSION, + 'Flash' : X_Pulgin_FLASH_VERSION, - FlashEnabled : X_Pulgin_FLASH_ENABLED, + 'FlashEnabled' : !!X_Pulgin_FLASH_ENABLED, - Silverlight : X_Pulgin_SILVER_LIGHT_VERSION, + 'Silverlight' : X_Pulgin_SILVER_LIGHT_VERSION, - SilverlightEnabled : X_Pulgin_SILVER_LIGHT_ENABLED, + '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, + + 'GearsEnabled' : X_Pulgin_GEARS_ENABLED }; + +//if( X_Pulgin_GEARS_ENABLED ) alert( 'X_Pulgin_GEARS_ENABLED' ); +