我正在使用Sharepoint 2010,我有一个要求,我必须删除dispform.aspx中的所有超链接,但不删除文件名,以便用户可以从那里打开文件。我使用dispform.aspx下面的javscript实现了这一点。但现在用户想要在单击文件名时在新窗口/选项卡中打开链接。我尝试使用"否则如果"以下代码中的条件。但它没有用。有人可以帮我这个。
<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>
此外,它是模态对话框窗口。这有什么不同吗?如果我使用开发者工具,我会看到&#39; A&#39; tag具有target = _blank属性。但由于某种原因,链接仍在同一窗口中打开
答案 0 :(得分: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 < /强>