本来是想做成直接在网页上在线预览office文件的,但是找了好多,要不是收费,要不就是要调用别人的API不安全,所以纠结了好久还是用调用本地的office预览office文件。

废话不多说,那么怎么调用的呢,这个是代码:

<script type="text/javascript">
//获取路径
var str = location.href;
var arr = str.split("/");
delete arr[arr.length - 1];
var dir = arr.join("/");
//获取的路径+文件名称,这个以表格文件做例子,其他格式都一样的。
var url = dir + "反馈表 .xls";
//打开本地office预览文档
var cmd = new ActiveXObject('WScript.Shell');
if (url.indexOf(".doc") != -1)
cmd.Run('winword "' + url + '"');
if (url.indexOf(".ppt") != -1)
cmd.Run('PowerPnt.exe "' + url + '"');
if (url.indexOf(".xls") != -1)
cmd.Run('excel.exe "' + url + '"');
</script>

还有一个调用office的但是我调用打不开office文件,有弹窗说是有代码文件点击后没反应代码如下

var openDocObj = new ActiveXObject("SharePoint.OpenDocuments.1");

openDocObj.EditDocument(url);

js调用本地office打开服务器的office文件预览的更多相关文章

  1. js调用本地程序

    前几天,做项目时候用到js调用本地的程序,找了好多资料,一种是写入注册表,一种是写一个浏览器插件,相对来说,写一个注册表更简单一点,因为需求很紧.下面就是我的总结,希望可以对你们有所帮助,具体从哪里找 ...

  2. java实现office文件预览

    不知觉就过了这个久了,继上篇java实现文件上传下载后,今天给大家分享一篇java实现的对office文件预览功能. 相信大家在平常的项目中会遇到需要对文件实现预览功能,这里不用下载节省很多事.大家请 ...

  3. PC网页js调用本地应用程序

    最近要现实一个在PC网页中实现点击按钮调用本地应用程序的功能 其实实现原理也非常简单, 首先注册一个本地注册表文件,指向本地应用程序路径 其次在网页中用js指向这个注册表文件,就可以实现网页调用本地应 ...

  4. 『配置』服务器搭建 Office Online Server2016 实现文档预览 番外 错误篇

    安装一个或多个角色.角色服务或功能失败.找不到源文件.请再次尝试在新的“添加角色和功能”向导会话中安装角色.角色服务或功能,然后在向导的“确认”页中单击“指定备用源路径”以指定安装所需的源文件的有效位 ...

  5. 『配置』服务器搭建 Office Online Server2016 实现文档预览

    博主有话说:这个过程我遇到了很多错误,所以出了一个错误整理文章,所以当你在配置过程中遇到了问题,可以先去这篇文章里找找!加油! 先打开我吧:https://www.cnblogs.com/pukua/ ...

  6. 【Web前端】---js调用本地应用程序

    最近进入了一个项目组,向大牛们一起学习如何搞开发,可谓是边开发边学习.就在前两天,我们的项目被领导们验收了一次,顺便给我们提了点新的需求,要求我们能够使用外在设备拍照上传.君要臣死,臣不能不死.更何况 ...

  7. JS调用本地设备

    JS 允许通过 navigator.mediaDevices.getUserMedia(options) 直接调用本地的设备,比如麦克风,摄像头等.因为该操作涉及到用户隐私,所以调用的时候会弹框请求权 ...

  8. Js调用本地exe的方式

    1.     使用记事本(或其他文本编辑器)创建一个myprotocal.reg文件,并写入以下内容 Windows Registry Editor Version 5.00 [HKEY_CLASSE ...

  9. Qt 调用本地浏览器打开URL

    点击Qt某些控件,查找本地浏览器打开前端传递的URL. 方法一:直接写死本地浏览器地址 QString programAdress = "C:\Program Files (x86)\Goo ...

随机推荐

  1. java8新特性学习2

    六.Stream API Java8中有两大最为重要的改变.第一个是 Lambda 表达式:另外一个则是 Stream API(java.util.stream.*).Stream 是 Java8 中 ...

  2. 青蛙的约会(exgcd/扩展欧几里得)

    题目描述 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘记了一件很重要的事情,既没有问清 ...

  3. poj_2084_Game of Connections

    This is a small but ancient game. You are supposed to write down the numbers 1, 2, 3, . . . , 2n - 1 ...

  4. MySQL-5.7.20主从复制测试[20180110]

    前言     MySQL 5.7.20测试主从复制   环境     主库 192.168.1.59  t-xi-sonar01     从库 192.168.1.51  t-xi-orc01   设 ...

  5. 【cisco下针对冗余链路故障备份的处理措施】

    对于中小型的网络中,为了流量的分担,可制定负载均衡方案,但往往带来的是链路的冗余.导致多条物理线路不能够最大的发挥其作用:冗余链路随可避免环路,但在实际的网络中还是存在一些需要完善的地方: 假设有一组 ...

  6. 【c学习-10】

    #include #include #define SOURCE 0 //递归函数 /* [基本类型 [整型(int,[长整型(long int), [短整型(short int),长度整型(long ...

  7. git merge最简洁

    一.开发分支(dev)上的代码达到上线的标准后,要合并到 master 分支 git checkout devgit pullgit checkout mastergit merge devgit p ...

  8. Angular简单总结

    AngularJS AngularJS四大特征 MVC模式 双向绑定 依赖注入 模块化设计 AngularJS 表达式 AngularJS 表达式写在双大括号内{{expression }},可以包含 ...

  9. 洛谷 U45568 赌神:决斗

    题目描述 \mathcal{tomoo}tomoo决定与\mathcal{CYJian}CYJian进行决斗! 已知\mathcal{tomoo}tomoo有\mathcal{N}N张扑克牌,每张扑克 ...

  10. Python学习:for 循环 与 range()函数

    for 循环   For … in 语句是另一种循环语句,其特点是会在一系列对象上进行迭代(Iterates),即它会遍历序列中的每一个项目 注意:  1.else 部分是可选的.当循环中包含它时,它 ...