代码改变世界

SharePoint 2010在新窗口打开文档库中的文件

2011-12-06 15:53  四毛的家  阅读(792)  评论(2编辑  收藏  举报

默认情况下,点击文档库中的文件是在当前浏览器中打开的(如果你设置的是在客户端软件打开,则不符合本文情况)。那么如果让他在新窗口中打开呢?

这里需要借助jQuery,关于如何将jQuery集成到Sharepoint中,请参考:http://hi.baidu.com/sygwin/blog/item/95cc99ca0ba88a9dc817682b.html

完成jQuery引用后,打开文档库页面(AllItems.aspx),编辑该页面(网站操作--编辑网页),添加一个“内容编辑器web部件”,将如下js添加里面保存即可。

$(document).ready(
function ()
{
// has to be on an interval for grouped doc libraries
// where the actual links are loaded only once a group
// is expanded
setInterval(
function ()
{
$("a[onclick*='return DispEx'][target!='_blank']").attr("target", "_blank").removeAttr("onclick");

// document type icons
$("td.ms-vb-icon>img[onclick]:not([documentUrl])")
.click(function (e)
{
window.open($(this).attr("documentUrl"), "_blank");
e.stopPropagation();
e.preventDefault();
return false;
})
.each(function ()
{
$(this).attr(
"documentUrl",
$.trim(String($(this).attr("onclick"))
.split("=")[1]
.replace(/["'{}]/g, "")
.split(";")[0])
);
this.onclick = null;
});
},
500
);
}
);

注意:需要将上述代码放到:<script type=”text/javascript”>将此处文本用上面的替换

</script>里面

另外,也可以将上面的js代码保存到一个js文件中,然后上传到sharepoint的一个文档库里,比如网站资产,获取上传后的js路径,然后通过下面的代码放入"内容编辑器web部件":

<script type="text/javascript" src="http://*****/SiteAssets/openinnewwindow.js"></script>

这样以后出问题,直接编辑js文件即可。

参考:http://www.benramey.com/2011/04/25/opening-all-sharepoint-2010-documents-in-a-new-window/(国外网站,打不开请用代理或直接自己想办法)

方法二:

 直接将下述代码通过内容编辑器webpart放到文档库页面(AllItems.aspx)中:

1 <script type="text/javascript" language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
2
3 <script language="javascript">
4 $(document).ready(
5 function(){
6 $('td.ms-vb2 a').attr('target','_blank');
7 }
8 );
9 </script>

说明方法二,和方法一类似。这里我没有测试。原文参考:http://www.pengzhang.ca/blog/2011/04/01/make-documents-open-in-a-new-window-from-a-list-view-webpart-in-sharepoint/