tangerocx.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480
  1. //ͨ�õ�js���ͺ���
  2. var TANGER_OCX_bDocOpen = false;
  3. var TANGER_OCX_strOp; //��ʶ��ǰ������1:�½���2:�򿪱༭��3:���Ķ�
  4. var TANGER_OCX_attachName; //��ʶ�Ѿ����ڵ����߱༭�ĵ����������
  5. var TANGER_OCX_attachURL; //���߱༭�ĵ�������URL
  6. var TANGER_OCX_actionURL; //�?�ύ����URL
  7. var TANGER_OCX_OBJ; //�ؼ�����
  8. var TANGER_OCX_key=""; //����ǩ��
  9. //�˺�������ҳװ��ʱ�����á�������ȡ�ؼ����󲢱��浽TANGER_OCX_OBJ
  10. //ͬʱ���������ó�ʼ�IJ˵�״�����򿪳�ʼ�ĵ��ȵȡ�
  11. function TANGER_OCX_Init(initdocurl)
  12. {
  13. TANGER_OCX_OBJ = document.all.item("TANGER_OCX");
  14. var useUTF8 = (document.charset == "utf-8");
  15. TANGER_OCX_OBJ.IsUseUTF8Data = useUTF8;
  16. TANGER_OCX_OBJ.FileNew = false;
  17. TANGER_OCX_OBJ.FileClose = false;
  18. try
  19. {
  20. //����ñ?���ύurl���������ݸ�ؼ���SaveToURL����
  21. TANGER_OCX_actionURL = document.forms[0].action;
  22. //��ȡ��ǰ��������
  23. TANGER_OCX_strOp = document.all.item("TANGER_OCX_op").innerHTML;
  24. //��ȡ�Ѿ����ڵĸ������
  25. TANGER_OCX_attachName = document.all.item("TANGER_OCX_attachName").innerHTML;
  26. //��ȡ�Ѿ����ڵĸ���URL
  27. TANGER_OCX_attachURL = document.all.item("TANGER_OCX_attachURL").innerHTML;
  28. try{
  29. TANGER_OCX_key = document.all.item("TANGER_OCX_key").innerHTML;
  30. }catch(err){}finally{};
  31. TANGER_OCX_OBJ.SetAutoCheckSignKey(TANGER_OCX_key);
  32. switch(TANGER_OCX_strOp)
  33. {
  34. case "1":
  35. if(initdocurl!="")
  36. {
  37. TANGER_OCX_OBJ.BeginOpenFromURL(initdocurl,false,false);//����URL,�Ƿ���ʾ���,�Ƿ�ֻ��
  38. }
  39. break;
  40. case "2":
  41. if(TANGER_OCX_attachURL)
  42. {
  43. TANGER_OCX_OBJ.BeginOpenFromURL(TANGER_OCX_attachURL,true,false);
  44. }
  45. else
  46. {
  47. if(initdocurl!="")
  48. TANGER_OCX_OBJ.BeginOpenFromURL(initdocurl,true,false);
  49. }
  50. break;
  51. case "3":
  52. if(TANGER_OCX_attachURL)
  53. {
  54. TANGER_OCX_OBJ.BeginOpenFromURL(TANGER_OCX_attachURL,true,true);
  55. }
  56. break;
  57. default: //ȥҪ��ָ����ģ���ļ�����ʱ��TANGER_OCX_strOpָ������url
  58. //����ʹ�õ�ǰ�ĵ���URL�����ģ���URL,Ҳ���Ǹ���?openform����IJ���
  59. var keystr = "?openform&".toUpperCase();
  60. var parastring = window.location.search;
  61. //alert(parastring);
  62. var urlbegin = parastring.toUpperCase().indexOf(keystr);
  63. if(-1 != urlbegin)
  64. {
  65. TANGER_OCX_strOp = parastring.substr(urlbegin+keystr.length);
  66. //alert(TANGER_OCX_strOp);
  67. //�ж��Ƿ���WPSģ��
  68. var wpsKey = "vwWpsTurl".toUpperCase();
  69. var isWpsTemplateURL = (-1 != parastring.toUpperCase().indexOf(wpsKey));
  70. if(!isWpsTemplateURL)
  71. {
  72. TANGER_OCX_OBJ.BeginOpenFromURL(TANGER_OCX_strOp,true,false);
  73. }
  74. else
  75. {
  76. TANGER_OCX_OBJ.BeginOpenFromURL(TANGER_OCX_strOp,true,false,"WPS.Document");
  77. }
  78. }
  79. break;
  80. }
  81. }
  82. catch(err){
  83. alert("����" + err.number + ":" + err.description);
  84. }
  85. finally{
  86. }
  87. }
  88. //������ʾ�Զ���˵���Ŀ
  89. function addMyMenuItems()
  90. {
  91. try{
  92. TANGER_OCX_OBJ = document.all.item("TANGER_OCX");
  93. //�����Զ����ļ��˵���Ŀ
  94. TANGER_OCX_OBJ.AddFileMenuItem('���浽������-�û��Զ���˵�',false,true,1);
  95. TANGER_OCX_OBJ.AddFileMenuItem('');
  96. //�����Զ������˵���Ŀ
  97. TANGER_OCX_OBJ.AddCustomMenuItem('�ҵIJ˵�1:�л���ֹ����',false,false,1);
  98. TANGER_OCX_OBJ.AddCustomMenuItem('');
  99. TANGER_OCX_OBJ.AddCustomMenuItem('�ҵIJ˵�2',false,false,2);
  100. TANGER_OCX_OBJ.AddCustomMenuItem('');
  101. TANGER_OCX_OBJ.AddCustomMenuItem('�ҵIJ˵�3',false,false,3);
  102. TANGER_OCX_OBJ.AddCustomMenuItem('');
  103. TANGER_OCX_OBJ.AddCustomMenuItem('�˲˵���Ҫ�򿪵��ĵ�����ʹ��',false,true,4);
  104. }
  105. catch(err)
  106. {
  107. }
  108. }
  109. function ShowTitleBar(bShow)
  110. {
  111. TANGER_OCX_OBJ.Titlebar = bShow;
  112. }
  113. function ShowMenubar(bShow)
  114. {
  115. TANGER_OCX_OBJ.Menubar = bShow;
  116. }
  117. function ShowToolMenu(bShow)
  118. {
  119. TANGER_OCX_OBJ.IsShowToolMenu = bShow;
  120. }
  121. //�ӱ�������ͼƬ���ĵ�ָ��λ��
  122. function AddPictureFromLocal()
  123. {
  124. if(TANGER_OCX_bDocOpen)
  125. {
  126. TANGER_OCX_OBJ.SetReadOnly(false);
  127. TANGER_OCX_OBJ.AddPicFromLocal(
  128. "", //·��
  129. true,//�Ƿ���ʾѡ���ļ�
  130. true,//�Ƿ񸡶�ͼƬ
  131. 0,//����Ǹ���ͼƬ���������ߵ�Left ��λ��
  132. 0, //����Ǹ���ͼƬ������ڵ�ǰ����Top
  133. 1 //����
  134. );
  135. };
  136. }
  137. //��URL����ͼƬ���ĵ�ָ��λ��
  138. function AddPictureFromURL(URL)
  139. {
  140. if(TANGER_OCX_bDocOpen)
  141. {
  142. TANGER_OCX_OBJ.SetReadOnly(false);
  143. TANGER_OCX_OBJ.AddPicFromURL(
  144. URL,//URL ע�⣻URL���뷵��Word֧�ֵ�ͼƬ���͡�
  145. true,//�Ƿ񸡶�ͼƬ
  146. 0,//����Ǹ���ͼƬ���������ߵ�Left ��λ��
  147. 0,//����Ǹ���ͼƬ������ڵ�ǰ����Top
  148. 1 //����
  149. );
  150. };
  151. }
  152. //�ӱ�������ӡ���ĵ�ָ��λ��
  153. function AddSignFromLocal()
  154. {
  155. // alert(TANGER_OCX_key);
  156. if(TANGER_OCX_bDocOpen)
  157. {
  158. TANGER_OCX_OBJ.SetReadOnly(false);
  159. TANGER_OCX_OBJ.AddSignFromLocal
  160. (
  161. TANGER_OCX_Username,//��ǰ��½�û�
  162. "",//ȱʡ�ļ�
  163. true,//��ʾѡ��
  164. 0,//left
  165. 0,
  166. TANGER_OCX_key,
  167. 1,
  168. 100,
  169. 0
  170. ) ;
  171. }
  172. }
  173. //��URL����ӡ���ĵ�ָ��λ��
  174. function AddSignFromURL(URL)
  175. {
  176. // alert(TANGER_OCX_key);
  177. if(TANGER_OCX_bDocOpen)
  178. {
  179. TANGER_OCX_OBJ.SetReadOnly(false);
  180. TANGER_OCX_OBJ.AddSignFromURL
  181. (
  182. TANGER_OCX_Username,//��ǰ��½�û�
  183. URL,//URL
  184. 0,//left
  185. 0,
  186. TANGER_OCX_key,
  187. 1,
  188. 100,
  189. 0
  190. ); //top
  191. }
  192. }
  193. //��ʼ��дǩ��
  194. function DoHandSign()
  195. {
  196. // alert(TANGER_OCX_key);
  197. if(TANGER_OCX_bDocOpen)
  198. {
  199. TANGER_OCX_OBJ.SetReadOnly(false);
  200. TANGER_OCX_OBJ.DoHandSign2(TANGER_OCX_Username,TANGER_OCX_key);
  201. }
  202. }
  203. //��ʼ�ֹ���ͼ���������ֹ���ʾ
  204. function DoHandDraw()
  205. {
  206. if(TANGER_OCX_bDocOpen)
  207. {
  208. TANGER_OCX_OBJ.SetReadOnly(false);
  209. TANGER_OCX_OBJ.DoHandDraw2();
  210. }
  211. }
  212. //���ǩ����
  213. function DoCheckSign()
  214. {
  215. // alert(TANGER_OCX_key);
  216. if(TANGER_OCX_bDocOpen)
  217. {
  218. var ret = TANGER_OCX_OBJ.DoCheckSign
  219. (
  220. false,/*��ѡ���� IsSilent ȱʡΪFAlSE����ʾ������֤�Ի���,����ֻ�Ƿ�����֤�����ֵ*/
  221. TANGER_OCX_key
  222. );//����ֵ����֤����ַ�
  223. //alert(ret);
  224. }
  225. }
  226. //�ӷ������Ӹǰ�ȫӡ��
  227. function addServerSecSign()
  228. {
  229. var signUrl=document.all("secSignFileUrl").options[document.all("secSignFileUrl").selectedIndex].value;
  230. if(TANGER_OCX_OBJ.doctype==1||TANGER_OCX_OBJ.doctype==2)
  231. {
  232. try
  233. {TANGER_OCX_OBJ.AddSecSignFromURL(TANGER_OCX_Username,signUrl);}
  234. catch(error){}
  235. }
  236. else
  237. {alert("�����ڸ������ĵ���ʹ�ð�ȫǩ��ӡ��.");}
  238. }
  239. //�ӷ������Ӹǰ�ȫӡ��
  240. function addServerSecSign_db(username,signUrl)
  241. {
  242. //var signUrl=document.all("secSignFileUrl").options[document.all("secSignFileUrl").selectedIndex].value;
  243. if(TANGER_OCX_OBJ.doctype==1||TANGER_OCX_OBJ.doctype==2)
  244. {
  245. try
  246. {TANGER_OCX_OBJ.AddSecSignFromURL(username,signUrl);}
  247. catch(error){}
  248. }
  249. else
  250. {alert("�����ڸ������ĵ���ʹ�ð�ȫǩ��ӡ��.");}
  251. }
  252. //�ӱ���Ӹǰ�ȫӡ��
  253. function addLocalSecSign()
  254. {
  255. if(TANGER_OCX_OBJ.doctype==1||TANGER_OCX_OBJ.doctype==2)
  256. {
  257. try
  258. {TANGER_OCX_OBJ.AddSecSignFromLocal(TANGER_OCX_Username,"");}
  259. catch(error){}
  260. }
  261. else
  262. {alert("�����ڸ������ĵ���ʹ�ð�ȫǩ��ӡ��.");}
  263. }
  264. //��EKEY�Ӹǰ�ȫӡ��
  265. function addEkeySecSign()
  266. {
  267. if(TANGER_OCX_OBJ.doctype==1||TANGER_OCX_OBJ.doctype==2)
  268. {
  269. try
  270. {TANGER_OCX_OBJ.AddSecSignFromEkey(TANGER_OCX_Username);}
  271. catch(error){}
  272. }
  273. else
  274. {alert("�����ڸ������ĵ���ʹ�ð�ȫǩ��ӡ��.");}
  275. }
  276. //������д��ȫǩ��
  277. function addHandSecSign()
  278. {
  279. if(TANGER_OCX_OBJ.doctype==1||TANGER_OCX_OBJ.doctype==2)
  280. {
  281. try
  282. {TANGER_OCX_OBJ.AddSecHandSign(TANGER_OCX_Username);}
  283. catch(error){}
  284. }
  285. else
  286. {alert("�����ڸ������ĵ���ʹ�ð�ȫǩ��ӡ��.");}
  287. }
  288. //���ԭ�ȵı?������OnSubmit�¼��������ĵ�ʱ���Ȼ����ԭ�ȵ��¼���
  289. function TANGER_OCX_doFormOnSubmit()
  290. {
  291. var form = document.forms[0];
  292. if (form.onsubmit)
  293. {
  294. var retVal = form.onsubmit();
  295. if (typeof retVal == "boolean" && retVal == false)
  296. return false;
  297. }
  298. return true;
  299. }
  300. //������ֹ�û��ӿؼ��������
  301. function TANGER_OCX_SetNoCopy(boolvalue)
  302. {
  303. TANGER_OCX_OBJ.IsNoCopy = boolvalue;
  304. }
  305. //�����û���
  306. function TANGER_OCX_SetDocUser(cuser)
  307. {
  308. TANGER_OCX_Username = cuser;
  309. with(TANGER_OCX_OBJ.ActiveDocument.Application)
  310. {
  311. UserName = cuser;
  312. }
  313. }
  314. //����ҳ�沼��
  315. function TANGER_OCX_ChgLayout()
  316. {
  317. try
  318. {
  319. TANGER_OCX_OBJ.showdialog(5); //����ҳ�沼��
  320. }
  321. catch(err){
  322. alert("����" + err.number + ":" + err.description);
  323. }
  324. finally{
  325. }
  326. }
  327. //��ӡ�ĵ�
  328. function TANGER_OCX_PrintDoc(isBackground)
  329. {
  330. var oldOption;
  331. try
  332. {
  333. var objOptions = TANGER_OCX_OBJ.ActiveDocument.Application.Options;
  334. oldOption = objOptions.PrintBackground;
  335. objOptions.PrintBackground = isBackground;
  336. }
  337. catch(err){};
  338. TANGER_OCX_OBJ.printout(true);
  339. try
  340. {
  341. var objOptions = TANGER_OCX_OBJ.ActiveDocument.Application.Options;
  342. objOptions.PrintBackground = oldOption;
  343. }
  344. catch(err){};
  345. }
  346. //�˺������ĵ��ر�ʱ�����á�
  347. function TANGER_OCX_OnDocumentClosed()
  348. {
  349. TANGER_OCX_bDocOpen = false;
  350. }
  351. //�˺����������浱ǰ�ĵ�����Ҫʹ���˿ؼ���SaveToURL����
  352. //�йش˺������ϸ�÷�������ı���ֲᡣ
  353. function TANGER_OCX_SaveDoc(fileName)
  354. {
  355. var retStr=new String;
  356. var newwin,newdoc;
  357. if(fileName=="")
  358. {
  359. alert("��ָ���������!");
  360. return;
  361. }
  362. try
  363. {
  364. if(!TANGER_OCX_doFormOnSubmit())return;
  365. if(!TANGER_OCX_bDocOpen)
  366. {
  367. alert("û�д򿪵��ĵ���");
  368. return;
  369. }
  370. //�ڱ༭״̬����Ҫɾ��ĸ������
  371. var deleteFile = "";
  372. //����Ҫ����ĸ����ļ���
  373. document.all.item("TANGER_OCX_filename").value = fileName;
  374. switch(TANGER_OCX_strOp)
  375. {
  376. case "3":
  377. alert("�ĵ������Ķ�״̬�����ܱ��浽��������");
  378. break;
  379. case "2": //��Ҫ����ɾ����ǰ���ĵ�����
  380. deleteFile = (TANGER_OCX_attachName=="")?"":"%%Detach="+escape(TANGER_OCX_attachName);
  381. case "1":
  382. //�½��ĵ�
  383. default:
  384. retStr = TANGER_OCX_OBJ.SaveToURL(TANGER_OCX_actionURL,
  385. document.all.item("NTKO_UPLOADFIELD").name, //�ӱ?���ļ����ؿؼ������
  386. deleteFile,
  387. fileName,
  388. 0 //ͬʱ�ύforms[0]����Ϣ
  389. );
  390. newwin = window.open("","_blank","left=200,top=200,width=400,height=200,status=0,toolbar=0,menubar=0,location=0,scrollbars=0,resizable=0",false);
  391. newdoc = newwin.document;
  392. newdoc.open();
  393. newdoc.write("<center><hr>"+retStr+"<hr><input type=button VALUE='�رմ���' onclick='window.close()'></center>");
  394. newdoc.close();
  395. //window.alert(retStr);
  396. window.opener.location.reload();
  397. window.close();
  398. break;
  399. }
  400. }
  401. catch(err){
  402. alert("���ܱ��浽URL��" + err.number + ":" + err.description);
  403. }
  404. finally{
  405. }
  406. }
  407. //�˺������ĵ���ʱ�����á�
  408. function TANGER_OCX_OnDocumentOpened(str, obj)
  409. {
  410. try
  411. {
  412. TANGER_OCX_bDocOpen = true;
  413. //�����û���
  414. TANGER_OCX_SetDocUser(TANGER_OCX_Username);
  415. if(obj)
  416. {
  417. switch(TANGER_OCX_strOp)
  418. {
  419. case "1":
  420. case "2":
  421. TANGER_OCX_OBJ.SetReadOnly(false);
  422. break;
  423. case "3":
  424. TANGER_OCX_OBJ.SetReadOnly(true);
  425. break;
  426. default:
  427. break;
  428. }
  429. }
  430. }
  431. catch(err){
  432. }
  433. finally{
  434. }
  435. }
  436. function SaveAsHTML(URL,uploadfield,fileName)
  437. {
  438. try
  439. {
  440. var retStr = TANGER_OCX_OBJ.PublishAsHTMLToURL(
  441. URL,uploadfield,
  442. "__Click=0&subject="+escape(document.forms(0).Subject.value)+
  443. "&filename="+fileName,
  444. fileName
  445. );
  446. var newwin = window.open("","_blank","left=200,top=200,width=400,height=200,status=0,toolbar=0,menubar=0,location=0,scrollbars=0,resizable=0",false);
  447. var newdoc = newwin.document;
  448. newdoc.open();
  449. newdoc.write("<center><hr>"+retStr+"<hr><input type=button VALUE='�رմ���' onclick='window.close()'></center>");
  450. newdoc.close();
  451. }
  452. catch(err){
  453. alert("���ܱ��浽URL��" + err.number + ":" + err.description);
  454. }
  455. finally{
  456. }
  457. }