0

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

    <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。但由于某种原因,链接仍在同一窗口中打开

4

1 回答 1

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 中的一个对话框中获取的链接。我不知道你的具体是什么样的,但我会从删除onmousedownonclick开始。

于 2013-07-01T18:42:01.927 回答