0

Sharepoint 2010 を使用していますが、ユーザーがそこからファイルを開くことができるように、ファイル名ではなく dispform.aspx からすべてのハイパーリンクを削除する必要があるという要件があります。dispform.aspx で以下の JavaScript を使用してこれを実現しました。しかし今、ユーザーはファイル名をクリックしたときにリンクを新しいウィンドウ/タブで開きたいと考えています。以下のコードで「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 に答える