天天看點

走進PIMShell(6)--預定義的全局變量

PIMShell預定義并初始化了一些全局變量,這些變量可以直接在javascript代碼中通路。其中,“page”是第一個全局變量,其他全局變量都直接或間接來自于它。這些變量的初始化類似于如下的代碼:

  1. //behavior notify code 
  2. var enum_behaviorNotify=
  3.        {addprofile:9,addmarkup:10,addinit:11,addready:12,dispose:13};
  4. //cuteEvent eventClass id 
  5. var enum_eventClassId=
  6.        {delay:0,async:1,simple:2,asyncScript:3,data:4,catalog:5};
  7. //tray message   
  8. var enum_trayMessageType={info:0,warning:1,error:2};
  9. var enum_trayMessageContentType={string:0,iframe:1,behavior:2};
  10. //plugins guid 
  11. var enum_plugins_guid={
  12.     empty:"{00000000-0000-0000-0000-000000000000}",
  13.     theme:"{00000000-0000-0000-0000-000000000001}",
  14.     system:"{00000000-0000-0000-0001-000000000000}",
  15.     general:"{00000000-0000-0000-0001-000000000001}",
  16.     safe:"{00000000-0000-0000-0001-000000000002}",
  17.     help:"{00000000-0000-0000-0001-000000000003}"};
  18. var clientContext=page.clientContext;
  19. var plugin=clientContext.plugin;
  20. var system=clientContext.plugin(enum_plugins_guid.system);
  21. var general=clientContext.plugin(enum_plugins_guid.general);
  22. var options=clientContext.options;
  23. var config=clientContext.config;
  24. var language=clientContext.language;
  25. var cuteEvent=clientContext.event;
  26. var dataManager=clientContext.dataManager;
  27. var trayMessage=clientContext.trayMessage;
  28. var remoteObject=clientContext.remoteObject;
  29. var profileManager=clientContext.profileManager;
  30. var profile=page.profile;
  31. // 
  32. var root=page.root;
  33. // 
  34. var Ajax=page.Ajax;
  35. var Sys=Ajax.Sys;
  36. var UI=Ajax.UI;
  37. var Net=Ajax.Net;
  38. var DomElement=UI.DomElement;
  39. var Timer=Sys.Timer;
  40. var String2=Sys.String;
  41. var XMLHttpManager=Net.XMLHttpManager;
  42. var PIMTools=page.PIMTools;
  43. var Tools=page.Tools;
  44. var Trace=null;
  45. if(root)
  46.     Trace=root.trace;
  47. // 
  48. function $(element)
  49. {
  50.     return Sys.getElementById(element);
  51. }
  52. function $object(element)
  53. {
  54.     return page.findControl(element);
  55. }
  56. function $F(element)
  57. {
  58.     return Sys.getElementValue(element);
  59. }
  60. function $list(str,delimiter)
  61. {
  62.     var __oList=Sys.List;
  63.     if(typeof(delimiter)=="undefined")
  64.         __oList.Split(str,",");
  65.     else
  66.         __oList.Split(str,delimiter);
  67.     return __oList;
  68. }

關于如何通過VC++設定javascript中的全局變量,請參考文章: 走進PIMShell(2)--不再使用external擴充浏覽器,兼談三種方案

繼續閱讀