OSDN Git Service

Version 0.6.9, X.Class using X.Callback object, X.Net.Image working.
[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 var X_Pulgin_FLASH_VERSION =
14                 !X.UA.IE && navigator.plugins[ 'Shockwave Flash' ] ?
15                         parseFloat( navigator.plugins[ 'Shockwave Flash' ].version ) :
16                 !X.UA.IE4 && !X.UA.IE5 && X.UA.ActiveX ? (function(){
17                             var obj = eval( 'var a;try{a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(e){}a' ),
18                                 ver = obj && obj.GetVariable( '$version' ).split( ' ' ).join( '.' );
19                                 return parseFloat( ver ) || 0;
20                         })() :
21                         0,
22
23         X_Pulgin_FLASH_ENABLED =
24                 X.UA.ActiveX ? !!X_Pulgin_FLASH_VERSION :
25                         navigator.mimeTypes &&
26                         navigator.mimeTypes[ 'application/x-shockwave-flash' ] &&
27                         navigator.mimeTypes[ 'application/x-shockwave-flash' ].enabledPlugin,
28
29 /*
30  * ie11 の 互換モード(8,7)では、Silverlight が動作しない?
31  */
32         X_Pulgin_SILVER_LIGHT_VERSION = 
33                 !X.UA.IE && navigator.plugins[ 'Silverlight Plug-In' ] ?
34                         parseFloat( navigator.plugins[ 'Silverlight Plug-In' ].version ) :
35                 X.UA.ActiveX && 6 <= X.UA.IE && !X.UA.IECompat ? (function(){
36                             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' );
37                         })() :
38                         0,
39
40         X_Pulgin_SILVER_LIGHT_ENABLED =
41                 X.UA.ActiveX ? !!X_Pulgin_SILVER_LIGHT_VERSION :
42                         navigator.mimeTypes &&
43                         navigator.mimeTypes[ 'application/x-silverlight' ] &&
44                         navigator.mimeTypes[ 'application/x-silverlight' ].enabledPlugin,
45
46 //http://docs.unity3d.ru/Manual/Detecting%20the%20Unity%20Web%20Player%20using%20browser%20scripting.html
47         X_Pulgin_UNITY_VERSION =        
48                 !X.UA.IE && navigator.plugins[ 'Unity Player' ] ?
49                         parseFloat( navigator.plugins[ 'Unity Player' ].version ) :
50                 !X.UA.IE4 && !X.UA.IE5 && X.UA.ActiveX ? (function(){
51                             var obj = eval( 'var a;try{a=new ActiveXObject("UnityWebPlayer.UnityWebPlayer.1")}catch(e){}a' );
52                             return obj ? parseFloat( obj.GetPluginVersion() ) : 0;
53                         })() :
54                         0,
55
56         X_Pulgin_UNITY_ENABLED =
57                 X.UA.ActiveX ? !!X_Pulgin_UNITY_VERSION :
58                         navigator.mimeTypes &&
59                         navigator.mimeTypes[ 'application/vnd.unity' ] &&
60                         navigator.mimeTypes[ 'application/vnd.unity' ].enabledPlugin;
61
62 X.Pulgin = {
63         
64         Flash              : X_Pulgin_FLASH_VERSION,
65
66         FlashEnabled       : X_Pulgin_FLASH_ENABLED,
67
68         Silverlight        : X_Pulgin_SILVER_LIGHT_VERSION,
69         
70         SilverlightEnabled : X_Pulgin_SILVER_LIGHT_ENABLED,
71         
72         Unity              : X_Pulgin_UNITY_VERSION,
73         
74         UnityEnabled       : X_Pulgin_UNITY_ENABLED
75         
76 };