1. function SetHref(pdf) {
  2. var c = pdf.href;
  3.  
  4. var d = "http://eds.jd.com";
  5. var f = "";
  6. var g = "";
  7. if (c.indexOf('sites') > -1) {
  8. var e = c.split('/');
  9. var i;
  10. for (i = 0; i < e.length; i++) {
  11. if (e[i] == "sites") {
  12. break;
  13. }
  14. }
  15. d += "/sites/" + e[i + 1];
  16.  
  17. var InfoUri = d + "/_api/site/rootWeb/webinfos";
  18. $.ajax({
  19. url: InfoUri,
  20. method: "GET",
  21. headers: { "accept": "application/JSON;odata=verbose" },
  22. success: function (data) {
  23.  
  24. var h = data.d.results;
  25. var num = 0;
  26. for (num = 0; num < h.length; num++) {
  27.  
  28. var url = data.d.results[num].ServerRelativeUrl.split('/');
  29.  
  30. if (url[url.length - 1] == decodeURI(e[i + 2])) {
  31.  
  32. break;
  33. }
  34. }
  35.  
  36. if (num == h.length) {
  37. f = e[i + 2];
  38. for (var j = i + 3; j < e.length - 1; j++) {
  39. f += "/" + e[j];
  40. }
  41. g = e[e.length - 1];
  42. }
  43. else {
  44. d += "/" + e[i + 2];
  45. f = e[i + 3];
  46. for (var j = i + 4; j < e.length - 1; j++) {
  47. f += "/" + e[j];
  48. }
  49. g = e[e.length - 1];
  50. }
  51.  
  52. Gethref(d, f, g, pdf);
  53.  
  54. },
  55. error: function (data) {
  56. var d = data;
  57. },
  58. failed: function (data) {
  59. var d = data;
  60. },
  61. async: true
  62. });
  63. }
  64.  
  65. else {
  66. var e = c.split('/');
  67. f = e[3];
  68. for (var j = 4; j < e.length - 1; j++) {
  69. f += "/" + e[j];
  70. }
  71. g = e[e.length - 1];
  72.  
  73. Gethref(d, f, g, pdf);
  74. }
  75. }
  76.  
  77. function Gethref(d, f, g, pdf) {
  78. var fileInfoUri = d + "/_api/web/GetFolderByServerRelativeUrl('" + f + "')/Files";
  79. $.ajax({
  80. url: fileInfoUri,
  81. method: "GET",
  82. headers: { "accept": "application/JSON;odata=verbose" },
  83. success: function (data) {
  84.  
  85. var h = data.d.results;
  86. for (var i = 0; i < h.length; i++) {
  87. if (data.d.results[i].Name == decodeURI(g)) {
  88.  
  89. pdf.href = d + "/_layouts/15/WopiFrame.aspx?sourcedoc={" + data.d.results[i].UniqueId + "}";
  90.  
  91. pdf.target = "_blank";
  92.  
  93. pdf.onclick = null;
  94.  
  95. }
  96. }
  97.  
  98. },
  99. error: function (data) {
  100. var d = data;
  101. },
  102. failed: function (data) {
  103. var d = data;
  104. },
  105. async: true
  106. });
  107. }

  

关于contentquery webpart的pdf文件如何在OOS上打开,并且所有文件在浏览器新起的页面打开?的更多相关文章

  1. js上传文件带参数,并且,返回给前台文件路径,解析上传的xml文件,存储到数据库中

    ajaxfileupload.js jQuery.extend({ createUploadIframe: function(id, uri) { //create frame var frameId ...

  2. 如何在Github上删除项目及某个文件

    在Github上删除项目 在GitHub仓库中找到已经建立好的某个仓库,本篇文章以我的myBookCodes仓库为例,在建立的myBookCodes仓库中首先找到settings选项,如图所示: 将页 ...

  3. 如何在Linux上恢复误删除的文件或目录

    Linux不像windows有那么显眼的回收站,不是简单的还原就可以了.linux删除文件还原可以分为两种情况,一种是删除以后在进程存在删除信息,一种是删除以后进程都找不到,只有借助于工具还原,这里分 ...

  4. 求大师点化,寻求大文件(最大20G左右)上传方案

    之前仿造uploadify写了一个HTML5版的文件上传插件,没看过的朋友可以点此先看一下~得到了不少朋友的好评,我自己也用在了项目中,不论是用户头像上传,还是各种媒体文件的上传,以及各种个性的业务需 ...

  5. eclipse SVN 上传.so库文件

    eclipse SVN提交代码的时候,是自动忽略.so库文件的.用下面所说的操作后,.so库文件右下角的图标会变成一个蓝色的+号的图标,这样就可以提交.so文件了 选择要上传的.so文件,右键 ——& ...

  6. #iPhone6与iPhone6Plus适配#如何在Xcode 6中创建 PCH 文件

    本文永久链接http://www.cnblogs.com/ChenYilong/p/4008086.html   新建文件 ⌘+N选择 iOS/Mac -> Other -> PCH Fi ...

  7. 如何在Sublime text中运行PHP文件

    如何在Sublime text中运行PHP文件 2014-06-14 17:17 3709人阅读 评论(1) 收藏 举报 phpSublime Text 一.将PHP安装目录放如环境变量PATH 二. ...

  8. git中手动删除的文件如何在git中删除

    在日常开发中,我们可能或手动删除(delete键删除的)一些文件,然而我们本来应该是用git rm fileName命令删除的,但是现在我们手动删除了,那么要如何在git里面讲那些手动删除的文件删除呢 ...

  9. 如何在 Linux 上复制文件/文件夹到远程系统?

    从一个服务器复制文件到另一个服务器,或者从本地到远程复制是 Linux 管理员的日常任务之一. 我觉得不会有人不同意,因为无论在哪里这都是你的日常操作之一.有很多办法都能处理这个任务,我们试着加以概括 ...

随机推荐

  1. csharp:FlowLayoutPanel

    /// <summary> /// 集合添加的控件 /// 涂聚文20150339 /// </summary> public void AddNewTextBox() { P ...

  2. [SD2015]序列统计——solution

    http://www.lydsy.com/JudgeOnline/problem.php?id=3992 很容易得出DP方程: f[i][c]=f[i-1][a]*f[1][b]① 其中a*b%M=c ...

  3. App更新之dialog数字进度条

    App更新之dialog数字进度条 前言:现在一般的Android软件都是需要不断更新的,当你打开某个app的时候,如果有新的版本,它会提示你有新版本需要更新.当有更新时,会弹出一个提示框,点击下载, ...

  4. Qt消息机制和事件、事件过滤

    一,事件 事件(event)是由系统或者 Qt 本身在不同的时刻发出的.当用户按下鼠标.敲下键盘,或者是窗口需要重新绘制的时候,都会发出一个相应的事件.一些事件在对用户操作做出响应时发出,如键盘事件等 ...

  5. PRML读书笔记——线性回归模型(上)

    本章开始学习第一个有监督学习模型--线性回归模型."线性"在这里的含义仅限定了模型必须是参数的线性函数.而正如我们接下来要看到的,线性回归模型可以是输入变量\(x\)的非线性函数. ...

  6. 微信小程序 - 弹出键盘遮挡住输入框

    在开发微信小程序的时候遇到,输入用户名或者手机号以及地址,手机键盘调起来,会把输入框遮挡. 如图: 以上两张图是自己工作中遇到的,此处不要着急,一个属性帮你搞定. cursor-spacing:指定光 ...

  7. JDK1.9怎么配置环境变量

  8. Linux kill/pkill/killall命令详解

    kill kill(terminate a process)命令用来终止指定的进程, 对于一个后台进程就须用kill命令来终止,我们就需要先使用ps/pidof/pstree/top等工具获取进程PI ...

  9. C# 多维数组 交错数组的区别,即 [ , ] 与 [ ][ ]的区别

    多维数组的声明 在声明时,必须指定数组的长度,格式为 type [lenght ,lenght ,lengh, ... ] int [,] test1 = new int [3,3]; 或声明时即赋值 ...

  10. spark中利用Sql2o连接数据的例子BlogService

    最近在看学习Spark Framework. 这是一个web框架,宗旨正如其官网LInk所示:Spark - A micro framework for creating web applicatio ...