2013-07-01 197 views
0

我正在使用Sharepoint 2010,我有一个要求,我必须从dispform.aspx中删除所有超链接,但不能删除文件名,以便用户可以从那里打开文件。我使用下面的javscript在dispform.aspx上实现了这一点。但是现在,用户希望在他们单击文件名时在新窗口/选项卡中打开链接。我试图用下面的代码中的“else if”条件来做这件事。但它不起作用。有人可以帮我弄这个吗。dispform.aspx在新标签中打开链接

<script type="text/javascript"> 

    function DisableLinks() 
    { 
    var x = document.getElementsByTagName("A"); 
    for (var i=0;i<x.length;i++) 
    { 
     if (x(i).href.indexOf("DispForm.aspx")>-1) 
     { 

     x(i).removeAttribute("onclick"); 
     x(i).removeAttribute("href"); 
     } 
     else if(x(i).href.indexOf(".pdf")>-1) 
     { 
      x(i).setAttribute('target', '_blank'); 

     } 
    } 
} 

_spBodyOnLoadFunctionNames.push("DisableLinks"); 
</script> 

此外,它是模态对话窗口。这有什么区别吗?如果我使用开发人员工具,则会看到“A”标签具有属性target = _blank。但由于某种原因链接仍然在同一窗口中打开

+0

您的PDF链接与此类似吗? xxxxx Chris

回答

0

检查链接的任何JavaScript并查看有关删除。

<a rel="sp_DialogLinkNavigate" href="xxxx/xxxx/xxx.docx" onmousedown="return VerifyHref(this, event, '1', 'SharePoint.OpenDocuments.3', '')" onclick="DispDocItemExWithServerRedirect(this, event, 'FALSE', 'FALSE', 'FALSE', 'SharePoint.OpenDocuments.3', '1', ''); return false;">xxxxx</a> 

这是我从一个对话框,采取我的SharePoint 2010年,我不知道到底是什么你看起来像一个链接,但我会通过删除onmousedown事件的onclick开始。

+0

感谢您的回复克里斯。我讨论了括号但仍然没有运气。请注意,即使不更改括号,代码也可以正常工作以删除超链接。唯一不起作用的是在新窗口中打开链接。 – user346514

+0

你有什么实际的SharePoint页面的实例html吗? (特别是链接) – Chris

+0

谢谢克里斯。我删除了onmousedown和onclick并添加了属性目标,并且它像魅力一样工作。十分感谢你的帮助。 – user346514

相关问题