OSDN Git Service

f3868f8e5d0f60925224f065ba10cd47777f44a0
[pettanr/clientJs.git] / 0.6.x / js / 03_plugin / 00_XPlugin.js
1
2 /*
3  * Flash Player 10 バージョン判別チェックリスト
4  * http://www.adobe.com/jp/devnet/flashplayer/articles/ver_check_flp10.html
5  * 
6  * IE7でswfobjectが動作しない件
7  * https://web.archive.org/web/20130317163030/http://mtl.recruit.co.jp/blog/2008/02/ie7swfobject.html
8  * 
9  * flash player 10, ie6+, ff2+, safari3, opera9.5
10  * flash player 11, ie7+, ff4(?), safari5, opera11
11  * flash player 12, ie8+, ff17, opera11
12  * 
13  * http://helpx.adobe.com/jp/flash-player/kb/228683.html
14  * flash player  9, Mac 10.1-10.3, 98, ME
15  * flash player 10.1, Mac 10.4
16  * flash player 10.3, Mac 10.5
17  * flash player 11.1, Win2k, Android 2.x-4.x
18  */
19 var X_Pulgin_FLASH_VERSION =
20                 !X_UA.IE && navigator.plugins[ 'Shockwave Flash' ] ?
21                         parseFloat( navigator.plugins[ 'Shockwave Flash' ].version ) :
22                 !X_UA.IE4 && !X_UA.IE5 && X_UA.ActiveX ? (function(){
23                             var obj = eval( 'var a,e;try{a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(e){}a' ),
24                                 ver = obj && obj.GetVariable( '$version' ).split( ' ' ).join( '.' );
25                                 return parseFloat( ver ) || 0;
26                         })() :
27                         0,
28
29         X_Pulgin_FLASH_ENABLED =
30                 X_UA.ActiveX ? !!X_Pulgin_FLASH_VERSION :
31                         navigator.mimeTypes &&
32                         navigator.mimeTypes[ 'application/x-shockwave-flash' ] &&
33                         navigator.mimeTypes[ 'application/x-shockwave-flash' ].enabledPlugin,
34
35 /*
36  * ie11 の 互換モード(8,7)では、Silverlight が動作しない?
37  */
38         X_Pulgin_SILVER_LIGHT_VERSION = 
39                 !X_UA.IE && navigator.plugins[ 'Silverlight Plug-In' ] ?
40                         parseFloat( navigator.plugins[ 'Silverlight Plug-In' ].version ) :
41                 X_UA.ActiveX && 6 <= X_UA.IE && !X_UA.IECompat ? (function(){
42                             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' );
43                         })() :
44                         0,
45
46         X_Pulgin_SILVER_LIGHT_ENABLED =
47                 X_UA.ActiveX ? !!X_Pulgin_SILVER_LIGHT_VERSION :
48                         navigator.mimeTypes &&
49                         navigator.mimeTypes[ 'application/x-silverlight' ] &&
50                         navigator.mimeTypes[ 'application/x-silverlight' ].enabledPlugin,
51
52 //http://docs.unity3d.ru/Manual/Detecting%20the%20Unity%20Web%20Player%20using%20browser%20scripting.html
53         X_Pulgin_UNITY_VERSION =        
54                 !X_UA.IE && navigator.plugins[ 'Unity Player' ] ?
55                         parseFloat( navigator.plugins[ 'Unity Player' ].version ) :
56                 !X_UA.IE4 && !X_UA.IE5 && X_UA.ActiveX ? (function(){
57                             var obj = eval( 'var a,e;try{a=new ActiveXObject("UnityWebPlayer.UnityWebPlayer.1")}catch(e){}a' );
58                             return obj ? parseFloat( obj.GetPluginVersion() ) : 0;
59                         })() :
60                         0,
61
62         X_Pulgin_UNITY_ENABLED =
63                 X_UA.ActiveX ? !!X_Pulgin_UNITY_VERSION :
64                         navigator.mimeTypes &&
65                         navigator.mimeTypes[ 'application/vnd.unity' ] &&
66                         navigator.mimeTypes[ 'application/vnd.unity' ].enabledPlugin,
67
68         X_Pulgin_GEARS_ENABLED =
69                 window.GearsFactory ||
70                 ( X_UA.ActiveX && 6 <= X_UA.IE ?
71                         (function(){
72                             return eval( 'var a,e;try{a=new ActiveXObject("Gears.Factory")}catch(e){}!!a' );
73                         })() :
74                         navigator.mimeTypes &&
75                         navigator.mimeTypes[ 'application/x-googlegears' ] &&
76                         navigator.mimeTypes[ 'application/x-googlegears' ].enabledPlugin
77                 );
78
79 X.Pulgin = {
80         
81         Flash              : X_Pulgin_FLASH_VERSION,
82
83         FlashEnabled       : !!X_Pulgin_FLASH_ENABLED,
84
85         Silverlight        : X_Pulgin_SILVER_LIGHT_VERSION,
86         
87         SilverlightEnabled : !!X_Pulgin_SILVER_LIGHT_ENABLED,
88         
89         Unity              : X_Pulgin_UNITY_VERSION,
90         
91         UnityEnabled       : !!X_Pulgin_UNITY_ENABLED,
92         
93         GearsEnabled       : X_Pulgin_GEARS_ENABLED
94         
95 };
96
97 if( X_Pulgin_GEARS_ENABLED ) alert( 'X_Pulgin_GEARS_ENABLED' );
98