home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 February / PCWorld_2005-02_cd.bin / software / servis / msprod / msprod2.exe / prod2.msi / Data1.cab / ClientCaps.js1 < prev    next >
Encoding:
Text File  |  2004-05-19  |  10.1 KB  |  83 lines

  1. var Browser_SupportsNavigateCSS  =0x00001;var Browser_SupportsFancyPlayerButtons =0x00002;var Browser_SupportsExpressionsInCSS =0x00004;var Browser_SupportsCustomCSSTags  =0x00008;var Browser_SupportsPPTSlideAnimations =0x00010;var Browser_EllipsifyTOCEntries   =0x00020;var Browser_SupportsUNICODE   =0x00040;var Browser_SupportsFilterEffects   =0x00080;var Browser_SupportsRuntimeStyle  =0x00100;var Browser_SupportsActiveX    =0x00200;var Browser_SupportsPowerpointHTML  =0x00400;var Browser_IsNetscape     =0x00800;var Browser_IsInternetExplorer   =0x01000;var Browser_CanControlPPTAnimationEngine=0x02000;var Browser_CanBandwidthManage  =0x04000;var Player_SupportsScriptTriggers  =0x10000;var Player_SupportsWebStreaming    =0x20000;var Player_CanScrub       =0x40000;var Player_64ObjectModel    =0x80000;var Player_70ObjectModel    =0x100000;var Technology_PC      =0x0F;var Technology_PC_Win9x    =0x01;var Technology_PC_WinNT    =0x02;var Technology_Mac      =0xF0;var Technology_Mac_OSX     =0x10;var Technology_InternetExplorer   =0xFF00;var Technology_Netscape     =0xFF0000;var Client_AllCapabilities=0x7FFFF | Player_70ObjectModel;var ClientCaps=Client_AllCapabilities;var Technology=0;var CONST_CAPABILITIES="caps%3d";function _F()
  2. {return IEVersion()>=5.5;}function CheckOSNT4()
  3. {var ua=window.navigator.userAgent
  4. return (ua.indexOf("Windows NT)")!=-1||ua.indexOf("Windows NT;")!=-1||ua.indexOf("Windows NT 4.0")!=-1);}function CheckBrowserIE60()
  5. {return IEVersion()>=6.0;}function FMacClient()
  6. {return (Technology & Technology_Mac);}function FNetscapeClient()
  7. {return (Technology & Technology_Netscape);}function FIEClient()
  8. {return (Technology & Technology_InternetExplorer);}function IEVersion()
  9. {return ((Technology & Technology_InternetExplorer)>>8)/10;}function NetscapeVersion()
  10. {return ((Technology & Technology_Netscape)>>16)/10;}function Mac_FDetectWMP()
  11. {var fHasWMP=navigator.mimeTypes &&
  12. navigator.mimeTypes["application/x-mplayer2"] &&
  13. navigator.mimeTypes["application/x-mplayer2"].enabledPlugin;if(fHasWMP)
  14. {alert("Windows Media Player is installed.");return 1;}else
  15. alert("Windows Media Player is NOT installed.");return 0;}var CONST_PARAMTYPE_INT=0;var CONST_PARAMTYPE_FLOAT=1;var CONST_PARAMTYPE_STRING=2;function ExtractURLParameter(szParamName,szHash,nType,nDef)
  16. {var _xA,szParam,varRetVal=nDef;_xA=szHash.search(szParamName);if(_xA!=-1)
  17. {szParam=szHash.substring(_xA+szParamName.length);if(nType==CONST_PARAMTYPE_INT)
  18. {varRetVal=parseInt(szParam);if(isNaN(varRetVal))
  19. varRetVal=nDef;}else if(nType==CONST_PARAMTYPE_FLOAT)
  20. {varRetVal=parseFloat(szParam);if(isNaN(varRetVal))
  21. varRetVal=nDef;}else if(nType==CONST_PARAMTYPE_STRING)
  22. {varRetVal=(Unescape(szParam).split('&'))[0];if(varRetVal=="")
  23. varRetVal=nDef;}else
  24. {varRetVal=nDef;}}return varRetVal;}function UnescapeHTML(szEscaped)
  25. {var szUnescaped=Unescape(szEscaped);szUnescaped=szUnescaped.replace(new RegExp("<br>","ig"),"\n");szUnescaped=szUnescaped.replace(new RegExp("&","ig"),"&");szUnescaped=szUnescaped.replace(new RegExp("#","ig"),"#");szUnescaped=szUnescaped.replace(new RegExp("⁄","ig"),"/");szUnescaped=szUnescaped.replace(new RegExp("?","ig"),"?");szUnescaped=szUnescaped.replace(new RegExp("\","ig"),"\\");szUnescaped=szUnescaped.replace(new RegExp(""","ig"),"\"");szUnescaped=szUnescaped.replace(new RegExp("<","ig"),"<");szUnescaped=szUnescaped.replace(new RegExp(">","ig"),">");szUnescaped=szUnescaped.replace(new RegExp("%","ig"),"%");return szUnescaped;}function Unescape(str)
  26. {try
  27. {return unescape(str);}catch (e)
  28. {}return str;}function IsPresentationNotLocalOnNT4()
  29. {return CheckOSNT4()&&(ClientCaps & Player_64ObjectModel)&&IsPresentationNotLocalPlayback();}function IsPresentationNotLocalPlayback()
  30. {if(g_bUseMP7)
  31. {var szProto=MediaPlayer.network.sourceProtocol.toLowerCase();return (szProto!="file");}else
  32. {var nProto=MediaPlayer.SourceProtocol;return (nProto!=7);}return 0;}function IsPresentationStreaming()
  33. {if(g_bUseMP7)
  34. {var szProto=MediaPlayer.network.sourceProtocol.toLowerCase();return (szProto=="mmsu"||szProto=="mmst");}else
  35. {var nProto=MediaPlayer.SourceProtocol;return (nProto== 3||nProto==4);}return 0;}function DumpCapabilities()
  36. {LOG("<hr>Client Information<br>");LOG("useragent="+window.navigator.userAgent+"<br>");LOG("appname="+window.navigator.appName+"<br>");if(Technology & Technology_Mac)LOG("client platform is a MAC<br>");if(Technology & Technology_PC_Win9x)LOG("client is running on a Win9x machine<br>");if(Technology & Technology_PC_WinNT)LOG("client is running on a WinNT machine<br>");if(Technology & Technology_Netscape)LOG("client is a NETSCAPE version:"+NetscapeVersion()+"<br>");if(Technology & Technology_InternetExplorer)LOG("client is Internet Explorer version:"+IEVersion()+"<br>");LOG("<br>Client Capabilities:-<ol>");if(ClientCaps & Browser_SupportsNavigateCSS)LOG("<li>Browser_SupportsNavigateCSS</li>");if(ClientCaps & Browser_SupportsFancyPlayerButtons)LOG("<li>Browser_SupportsFancyPlayerButtons</li>");if(ClientCaps & Browser_SupportsExpressionsInCSS)LOG("<li>Browser_SupportsExpressionsInCSS</li>");if(ClientCaps & Browser_SupportsCustomCSSTags)LOG("<li>Browser_SupportsCustomCSSTags</li>");if(ClientCaps & Browser_SupportsPPTSlideAnimations)LOG("<li>Browser_SupportsPPTSlideAnimations</li>");if(ClientCaps & Browser_EllipsifyTOCEntries)LOG("<li>Browser_EllipsifyTOCEntries</li>");if(ClientCaps & Browser_SupportsUNICODE)LOG("<li>Browser_SupportsUNICODE</li>");if(ClientCaps & Browser_SupportsFilterEffects)LOG("<li>Browser_SupportsFilterEffects</li>");if(ClientCaps & Browser_SupportsActiveX)LOG("<li>Browser_SupportsActiveX</li>");if(ClientCaps & Browser_SupportsPowerpointHTML)LOG("<li>Browser_SupportsPowerpointHTML</li>");if(ClientCaps & Browser_CanBandwidthManage)LOG("<li>Browser_CanBandwidthManage</li>");if(ClientCaps & Player_SupportsScriptTriggers)LOG("<li>Player_SupportsScriptTriggers</li>");if(ClientCaps & Player_SupportsWebStreaming)LOG("<li>Player_SupportsWebStreaming</li>");if(ClientCaps & Player_64ObjectModel)LOG("<li>Player_64ObjectModel</li>");if(ClientCaps & Player_70ObjectModel)LOG("<li>Player_70ObjectModel</li>");LOG("</ol><font color=red>Client NOT capable of -<ol>");if(!(ClientCaps & Browser_SupportsNavigateCSS))   LOG("<li>!Browser_SupportsNavigateCSS</li>");if(!(ClientCaps & Browser_SupportsFancyPlayerButtons))  LOG("<li>!Browser_SupportsFancyPlayerButtons</li>");if(!(ClientCaps & Browser_SupportsExpressionsInCSS)) LOG("<li>!Browser_SupportsExpressionsInCSS</li>");if(!(ClientCaps & Browser_SupportsCustomCSSTags))  LOG("<li>!Browser_SupportsCustomCSSTags</li>");if(!(ClientCaps & Browser_SupportsPPTSlideAnimations))  LOG("<li>!Browser_SupportsPPTSlideAnimations</li>");if(!(ClientCaps & Browser_EllipsifyTOCEntries))   LOG("<li>!Browser_EllipsifyTOCEntries</li>");if(!(ClientCaps & Browser_SupportsUNICODE))    LOG("<li>!Browser_SupportsUNICODE</li>");if(!(ClientCaps & Browser_SupportsFilterEffects))   LOG("<li>!Browser_SupportsFilterEffects</li>");if(!(ClientCaps & Browser_SupportsActiveX))    LOG("<li>!Browser_SupportsActiveX</li>");if(!(ClientCaps & Browser_SupportsPowerpointHTML))  LOG("<li>!Browser_SupportsPowerpointHTML</li>");if(!(ClientCaps & Browser_CanBandwidthManage))   LOG("<li>!Browser_CanBandwidthManage</li>");if(!(ClientCaps & Player_SupportsScriptTriggers))   LOG("<li>!Player_SupportsScriptTriggers</li>");if(!(ClientCaps & Player_SupportsWebStreaming))   LOG("<li>!Player_SupportsWebStreaming</li>");LOG("</ol></font><hr>");}function SetPlayerObjectModel(Player_XXObjectModel)
  37. {ClientCaps &= ~(Player_64ObjectModel | Player_70ObjectModel);ClientCaps |= Player_XXObjectModel;}function DetermineClientTechnology()
  38. {ua=window.navigator.userAgent.toLowerCase();an=navigator.appName.toLowerCase();msie=ua.indexOf ("msie ");ns=ua.indexOf("netscape");if(msie>-1)
  39. {ieVersion=parseFloat (ua.substring (msie+5,ua.indexOf (".",msie)+2));Technology|=(ieVersion*10) << 8;}else if(ns>-1)
  40. {nsVersion=parseFloat (ua.substring (ns+9,ns+12));Technology|=(nsVersion*10) << 16;}if(ua.indexOf("windows 95")>=0||ua.indexOf("windows 98")  >=0||ua.indexOf("windows mil") >=0)
  41. Technology|=Technology_PC_Win9x;else if(ua.indexOf("mac")>-1)
  42. {Technology|=Technology_Mac_OSX;}else
  43. {Technology|=Technology_PC_WinNT;}ClientCaps=ExtractURLParameter(CONST_CAPABILITIES,escape(window.location.hash).toLowerCase(),CONST_PARAMTYPE_INT,-1);if(ClientCaps==-1)
  44. ClientCaps=Client_AllCapabilities;if(Technology & Technology_Mac)
  45. {ClientCaps &= ~ (Browser_SupportsNavigateCSS |
  46. Browser_SupportsFancyPlayerButtons |
  47. Browser_SupportsExpressionsInCSS |
  48. Browser_SupportsCustomCSSTags |
  49. Browser_SupportsPPTSlideAnimations |
  50. Browser_SupportsFilterEffects |
  51. Browser_EllipsifyTOCEntries |
  52. Browser_SupportsUNICODE |
  53. Browser_SupportsRuntimeStyle |
  54. Browser_SupportsActiveX|
  55. Browser_CanBandwidthManage |
  56. Player_SupportsScriptTriggers |
  57. Player_SupportsWebStreaming |
  58. Player_CanScrub);SetPlayerObjectModel(Player_64ObjectModel);}if(Technology & Technology_Netscape)
  59. {ClientCaps &= ~ (Browser_SupportsNavigateCSS |
  60. Browser_SupportsFancyPlayerButtons |
  61. Browser_SupportsExpressionsInCSS |
  62. Browser_SupportsCustomCSSTags |
  63. Browser_SupportsPPTSlideAnimations |
  64. Browser_SupportsFilterEffects |
  65. Browser_EllipsifyTOCEntries |
  66. Browser_SupportsUNICODE |
  67. Browser_SupportsRuntimeStyle |
  68. Browser_SupportsActiveX|
  69. Browser_SupportsPowerpointHTML |
  70. Browser_CanBandwidthManage |
  71. Player_SupportsScriptTriggers |
  72. Player_SupportsWebStreaming |
  73. Player_CanScrub);SetPlayerObjectModel(Player_64ObjectModel);}if(CheckBrowserIE60())
  74. ClientCaps &=~ Browser_EllipsifyTOCEntries;else
  75. ClientCaps &=~Browser_CanControlPPTAnimationEngine;if(!_F())
  76. ClientCaps &=~ Browser_SupportsFilterEffects;if((Technology & Technology_PC_Win9x)&& (!document.iMokie)&&window.location.search.indexOf("THUMBNAIL")==-1)
  77. ClientCaps &=~ Browser_SupportsUNICODE;if(((Technology & Technology_InternetExplorer)&&  IEVersion()<5.0) ||
  78. ((Technology & Technology_Netscape)&& NetscapeVersion()<7.0) ||
  79. ((Technology & Technology_Netscape)&&(Technology & Technology_Mac)) ||
  80. !((Technology & Technology_Netscape)||(Technology & Technology_InternetExplorer)))
  81. {if(window.confirm(UnescapeHTML(g_szInvalidBrowser)))
  82. window.navigate(g_szIEURL);else
  83. window.navigate("about:blank");}}DetermineClientTechnology();