2013-07-01 2 views
0

Sharepoint 2010을 사용하고 있는데 사용자가 거기에서 파일을 열 수 있도록 파일 이름이 아니라 dispform.aspx에서 모든 하이퍼 링크를 제거해야한다는 요구 사항이 있습니다. dispform.aspx에서 아래 javscript를 사용하여이 작업을 수행했습니다. 그러나 이제 사용자는 파일 이름을 클릭하면 새 창/탭에서 링크를 열려고합니다. 나는 아래 코드에서 "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> 

내가 당신의 모습을 정확히 모르는 내 셰어 포인트 2010의 대화에서 찍은 링크입니다하지만 난 하면 onMouseDown 및 온 클릭을 제거하여 시작합니다.

+0

답장을 보내 주셔서 감사합니다. 나는 괄호를 chanhged하지만 여전히 운이. 그리고 코드는 대괄호를 변경하지 않고도 하이퍼 링크를 제거하는 데 잘 작동합니다. 작동하지 않는 유일한 방법은 새 창에서 링크를 여는 것입니다. – user346514

+0

SharePoint 페이지에 실제로 들어있는 HTML 예제가 있습니까? (특히 링크) – Chris

+0

감사합니다 chris. 나는 onmousedown과 onclick을 제거하고 속성 타겟을 추가했으며 매력처럼 작동했습니다. 도와 줘서 고마워. – user346514

관련 문제