2013-07-01 193 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

相關問題