本来生活过的美滋滋,突然告知要用ntko写一个操作word文档的界面,看到后立马提起兴致看了下ntko的基本文档,安装ntko,研究小demo。研究完后心里立刻妈卖批了,这个ntko居然限制游览器与word版本,可把我研究苦了。chrome45后就限制了插件入口,firfox跟chrome差不多,所以只能用一些特定的进行开发。
1.开发环境
选择使用的是 IE11,word2016(QQ游览器与360游览器拥有ie11的内核也可以使用,注意不要使用chrome的开发者工具)
ie11注意查看文档需要进行安全站点的检查,不然ActiveWindow获取不到,以下是设置方式图
把需要使用的ntko进行添加到信任站点才能正常使用。
2.单页面的ntko嵌入到vue项目中去
ntko嵌入到vue项目里可真是让人头秃呀,ie游览器加这个控件真的法力无边,彻底把我打磨成一个特别有耐心与好脾气的人。我们接下来说明可能出现的问题。
(1).ntko的demo使用的是script进行插入与监控,vue中的根本就识别不了script
通过$(’#id’).apend(script)进行插入,注意ntkoofficecontrol.min.js文件中的
if (browser=="IE"){
if(window.navigator.platform=="Win32"){
document.write('<!-- 用来产生编辑状态的ActiveX控件的JS脚本--> ');
document.write('<!-- 因为微软的ActiveX新机制,需要一个外部引入的js--> ');
document.write('<object id="TANGER_OCX" classid="clsid:'+classid+'"');
document.write('codebase="'+codebase+'" width="'+width+'" height="'+height+'"> ');
document.write('<param name="MakerCaption" value="'+MakerCaption+'"> ');
document.write('<param name="MakerKey" value="'+MakerKey+'"> ');
document.write('<param name="ProductCaption" value="'+ProductCaption+'"> ');
document.write('<param name="ProductKey" value="'+ProductKey+'"> ');
document.write('<param name="NoExpireKey" value="'+NoExpireKey+'"> ');
document.write('<param name="IsUseUTF8URL" value="-1"> ');
document.write('<param name="IsUseUTF8Data" value="-1"> ');
document.write('<param name=&