3       安装、升级

6.1   默认未安装处理

当用户的机子,没有安装JCP,此时,对JCP进行调用,会发生什么?

 

在默认情况下,jcpfree.js会提示用户,"杰表云打印(JCP)未安装, 请下载安装之.",用户点击确认后,会自动从

http://printfree.jatools.com/jcp/setup.exe 下载安装包,用户在下载安装后,就不再提示。

 

提示内容及下载地址,被设置在 jcpfree.js的开始部分,如下所示:

 

你可以修改 JCP.setup.download属性,指定你自己的下载地址,修改JCP.setup.noSetupMessage属性,指定你自己的提示内容。

 

提示:

1.  只有对JCP进行调用时,jcpfree.js才会去检测是否安装JCP,不调用不检测。

2.  如果你想在页面加载完成时,就检测,那么,请调用一个轻量级的方法,比如 getVersion方法就行了:

1.  <script>  

2.      function checkJCP() {  

3.          getJCP().getVersion(function(result) {  

4.          })  

5.      }  

6.  </script>  

7.  </head>  

8.  <body onload="checkJCP()">  

9.  ...  

3.  安装完成后,不需要重新启动操作系统,不需要重新启动浏览器,也不需要刷新页面,JCP会自动继续执行安装前的任务。

 

6.2   自定义未安装处理

自定义未安装提示

如果你想更进一步,自定义未安装处理,这时,你可以使用未安装回调功能:

1.  <script type="text/javascript" src="jcpfree.js"></script>  

2.  <script>  

3.      var JCP = {  

4.          setup : {  

5.              noSetupHandle : function() {  

6.                  alert("no setup!");  

7.              }  

8.          }  

9.      };  

10.     function checkJCP() {  

11.         getJCP().getVersion(function(result) {  

12.             alert("已安装!");  

13.         })  

14.   

15.     }  

16. </script>  

17. </head>  

18. <body onload="checkJCP()">  

19. ...  

如上所示, jcpfree.js中定义的全局变量JCP,已经被内嵌的js代码所覆盖,新的JCP变量所指对象的 noSetupHandle属性上,定义一个回调,当jcpfree.js检测到未安装时,会调用这个函数,你可以在此进行未安装处理,比如提示用户未安装,下载等。

 

提示:

你也可以在jcpfree.js中直接修改 JCP全局变量,而不必采用全局变量重定义方法。