在Sharepoint 文档库中,当点击库中的一个Excel文件时,Sharepoint默认为转跳到Excel Services上,无论是Sharepoint 的是否开启了Excel Service,当没有开启Excel Service功能时,将会提示Excel Service 打开文件失败。出现”很抱歉,完成您的请求出现错误“ 。

问题现象

定位原因

查看测试Excel 的Html元素,可以看到标签上有onclick 和 onmousedown事件。

 <a class="ms-listlink ms-draggable" onmousedown="return VerifyHref(this,event,'1','SharePoint.OpenDocuments','1http://pmoweb.ll.com/producet/_layouts/15/xlviewer.aspx?id=/producet/Documents1/%E6%B5%8B%E8%AF%95Excel.xlsx')" onclick="return DispEx(this,event,'TRUE','FALSE','FALSE','SharePoint.OpenDocuments.3','1','SharePoint.OpenDocuments','','1http://pmoweb.ll.com/producet/_layouts/15/xlviewer.aspx?id=/producet/Documents1/%E6%B5%8B%E8%AF%95Excel.xlsx','','19','0','0','0x400001f07fff1bff')" href="/producet/Documents1/测试Excel.xlsx" DragId="3">测试Excel</a>

可以看到在两个事件中都出现了,/_layouts/15/xlviewer.aspx?id=/producet/Documents1/%E6%B5%8B%E8%AF%95Excel.xlsx   这个路径。这个就是Sharepoint 默认打开Excel Service 功能。

要解决不让默认Excel Services打开Excel文件,根据其它JS代码,定位到 Core.js或Core.Debug.js文件_VerifyHref方法中。

解决方案

在_verfityHref方法中,处理最一个参数,当Url地址包含xlviewer.aspx,将URL设置为空即可

 function _VerifyHref(ele, objEvent, iDefaultItemOpen, strProgId, strServerFileRedirect) {
// 处理当转跳地址中出现xlviewer.aspx,将不跳转
if(strServerFileRedirect && strServerFileRedirect.indexOf("xlviewer.aspx") > 0)
{
strServerFileRedirect="";
}
// End 处理
var fGetHrefForLinking = objEvent.button == Sys.UI.MouseButton.rightButton;
var strUrl = GetRedirectedHref(ele.href, iDefaultItemOpen, strProgId, null, strServerFileRedirect, false, fGetHrefForLinking, ele);
var fIsServerFile = strServerFileRedirect != null && strServerFileRedirect.length > 1;
var fIsClientAppInstalled = IsClientAppInstalled(strProgId, null, ele) && HasRights(0x10, 0x0); if (fIsServerFile) {
if (iDefaultItemOpen == "1" && !(fIsClientAppInstalled && !IsNullOrUndefined(ele.getAttribute("isEdit"))) || !fIsClientAppInstalled) {
if (Boolean(ele.getAttribute("isEdit")))
ele.editHref = ele.href;
if (iDefaultItemOpen == "1")
ele.href = strUrl;
objEvent.cancelBubble = true;
objEvent.returnValue = true;
}
DetachEvent('mousedown', VerifyHref, ele);
}
return false;
}

粘贴的代码为Core.Debug.js中,Core.js为精简过的,重新压缩一下即可。

修改Sharepoint 文档库列表点击Excel文件默认跳转到Excel Service服务 xlviewer.aspx页面的更多相关文章

  1. 利用脚本一键执行脚本,创建SharePoint文档库列表

    SharePoint基于文档库和列表上进行二次开发,生成新的文档库和新的列表模板 通过新的模板,创建新的文档库与列表 --定义site对象$site = SPSite http://dvt176/si ...

  2. sharepoint中的Power Shell命令创建、删除文档库列表

    ListTemplateType 枚举: 自定义列表-GenericList.文档库-DocumentLibrary.图片库-PictureLibrary.公告-Announcements.联系人-C ...

  3. 在Outlook中查看预览SharePoint文档库的文档

    本文概况 阅读时间: 约2分钟 适用版本:SharePoint Server 2010及以上 面向用户:普通用户,管理员 难度指数:★★☆☆☆ 在日常工作中,总有一些常用的文档需要经常打开查看,其实我 ...

  4. 360安全卫士造成Sharepoint文档库”使用资源管理器打开“异常

           备注:企业用户还是少用360为妙        有客户反馈:部门里的XP SP2环境客户机全部异常,使用资源管理器打开Sharepoint文档库,看到的界面样式很老土,跟本地文件夹不一样 ...

  5. SharePoint 文档库实现文件夹拖放到文档库

    打开文档库-> 选择文件夹-> 在Ribbon中选择“库(list)”-> 在右边可以看到打开方式-> 选择用资源管理器打开-> 在新打开的资源管理器中可能实现对文夹的拖 ...

  6. 查看SharePoint文档库是,显示层次目录,可以点击返回层次

    在sharepoint 2013中,Documnet library(文档库)包含多层文件夹,当进入到文件夹后,返回指定层次了(例如返回上一层),需要用浏览器的返回. 使用起来不方便,而且浏览器的返回 ...

  7. SharePoint中用Power shell命令设置文档库列表的权限

    首先停止继承权限 $web = Get-PnPweb $spoList= Get-PnPList "Testlist" -Web $web (注释:获取对象)$spoList.Br ...

  8. SharePoint文档库,如何在新窗口打开中的文件

    默认情况下,点击文档库中的文件是在当前浏览器中打开的(如果你设置的是在客户端软件打开,则不符合本文情况).那么如果让他在新窗口中打开呢? 这里需要借助jQuery,关于如何将jQuery集成到Shar ...

  9. 解决SharePoint文档库文件在搜索结果页面显示的标题和文档的标题不一致问题(search result)

    问题表现: SharePoint 2013 爬网后,搜索一个文档,虽然搜到了,但是显示有点问题,如图: 原因分析: 造成该问题的原因是,该文档除了本身有一个名称外,在文档metadata的title属 ...

随机推荐

  1. Y - Design T-Shirt(第二季水)

    Description Soon after he decided to design a T-shirt for our Algorithm Board on Free-City BBS, XKA ...

  2. php笔试题1

    PHP 基础知识部分 1. 求$a的值 复制代码 代码如下: $a = "hello"; $b = &$a; unset($b); $b = "world&quo ...

  3. php计算剩余时间的自定义函数

    把两个日期格式的字符串转化成unix时间戳,然后相减获得时间戳差,最后判断剩余时间,生成类似(2小时30分钟20秒前发布)这样的时间格式,代码如下: function gettime($time_s, ...

  4. Windows编程中的若干难点 - Windows程序设计(SDK)007

    Windows编程中的若干难点 让编程改变世界 Change the world by program 一个窗口的生与死 我记得有童鞋会问:如果我的程序需要在关闭前让用户判断是否确定要关闭窗口,我应该 ...

  5. ubuntu安装aircrack-ng/reaver/minidwep-gtk用来跑pin

    按照下面安装方法,可以在Ubuntu 13.04中启动 minidwep.Tested with Ubuntu 13.04 1. Dependencies    Code:    sudo apt-g ...

  6. 深入理解CSS选择器优先级的计算

    选择器的优先级关系到元素应用哪个样式.在CSS2.1的规范(http://www.w3.org/TR/2009/CR-CSS2-20090908/cascade.html#specificity)中是 ...

  7. PHP and java

    问题补充: 为什么不选用优秀的ASP.NET,京东做的不是很成功嘛?-----------------------------------------------------------------首 ...

  8. cf B. Fox Dividing Cheese

    http://codeforces.com/contest/371/problem/B #include <cstdio> #include <iostream> #inclu ...

  9. ural 1837 Isenbaev's Number

    http://acm.timus.ru/problem.aspx?space=1&num=1837 #include <cstdio> #include <cstring&g ...

  10. CDN和双线机房相比有何优势

    1.什么类型的网站最需要CDN? 适合目标客户覆盖全国范围的网站,不论是南方电信.还是北方网通用户.铁通用户,均要求能快速访问到客户网站,彻底解决电信.网通之间的互访瓶颈. 另外国外的网站,如果需要提 ...