在线文档webOffice控件使用心得

目前尚无免费的跨浏览器的office文档插件。而收费的有款PageOffice,但是在实际使用时,与直接开启office编辑工具相比,功能上还存在较大差异。

使用WebOffice

weboffie可以实现跨浏览器编辑office文档,它是一种系统级控件相当于在系统上安装了响应的软件,然后在浏览器上进行调试,这就意味着需要跳出当前浏览器而调用软件自己的浏览器。而上面提到的其他控件是浏览器控件,直接嵌入到浏览器中,可以做到无缝使用;

问题

1.跳出浏览器意味着就不能实现session共享。

需要通过session传值的解决办法;

当用户使用智能窗打开系统内页时,session值如何传递的问题:

WebOffice使用URL_TOKEN解决方案:

1.)、当用户登录系统时,记下用户的账号名称和登录时间存入数据库两个字段,并将账号名和登录时间统一成字符串后进行MD5加密产生一个密码串 并根据需要把要用的session值存入数据库响应的字段里。

 2)、在打开智能窗时把账号名和MD5加密串分别用URL参数如 http://www.aa.com/aa.jsp?fileid=1&user=账号名&token=MD5加密串, 进行传递

3)、在aa.php通过获得账号名,招待库里存储的此账号最近一次登录的时间,通过前面登录时使用的加密算法对账号和从库里取出的时间进行md5加密,得出一个新的加密字符串,如果此加密字符串与网址里aa。php?field=1&user=账户名&token=MD5加密串里的参数的值一致,则一定是同一个人操作,接下来再到库中吧对应的session值读取出来就可以了。

 

验证通过

2、无法获得父窗口相应的属性。比如:在保存文档结束之后,父窗口不知道该操作结束,无法做出相应的更新。

解决办法:第一次操作时记录下相应状态并启动js轮询,保存后更改状态。当父窗口的js轮询返回对应的状态后,父页面进行相应更新,最后销毁该轮询。(本来是想采用websocket的,但好像部分浏览器暂时不支持html5)

3、自定义弹出窗口无法限制在文档之上。

解决办法:百度了div如何显示在ocx之上。

例子:

 

你可能感兴趣的:(php,word)