2011-02-10 5 views
0

に私は現在、私はURLゲートを置き換えるために使用するjqueryの機能を開発していますHTMLでは、アンカータグのhrefに「/Subsite/Folder/Page.aspx」があります。はJavaScriptを使用してHREFでドメインを交換してSharePointの

ここで私の問題は、私の同僚がcostumerのためのクロスサイトナビゲーションを開発することができ、そのcostumerもこのクロスサイトナビゲーションを使用するMySiteを持っていてMySitesは通常別のゲートエントリゲート20000.

クロスサイトナビゲーションが:20000エントリを削除しないという理由だけで、ユーザーは403エラーを表示せずにナビゲートできるように、jqueryスクリプトを使用してそのエントリを削除したいと考えています。問題のみ - 方法は分かりません。

<script type="text/javascript"> 
    $(document).ready(function() { 
     var urlContain = new RegExp(':20000'); 
     $('#s4-topheader2 a').each(function() { 
      var href = this.getAttribute('href').replace(urlContain, ''); 
      $(this).attr('href', href); 
     }); 
    }); 
</script> 

意図したとおりにそれは動作しますが、残念ながら、それは削除されません:

Aがバージョンスクラップ、私は先に述べたように、ドメインから20000を、アンカーは唯一の「/サブサイトが含まれているように見えます/ Folder/Page.aspx "と表示されます。私がそれらの上にマウスカーソルを置くと、ブラウザの左下にドメイン名が表示されますが、ソースが表示されません。

これを解決するためのアイデアと考えが高く評価されています。

答えて

1

あなたの言うとおりにURLが"/Subsite/Folder/Page.aspx"である場合、ブラウザはあなたの言うように、左下に完全なアドレスを表示します。これは、URL "Subsite/Folder/Page.aspx"現在のドメインに関連するアドレスであるためです。

これは、そのページが

www.example.comからアクセスされた場合、それはwww.example.com/Subsite/Folder/Page.aspx

www.example.com:8080を表示することを意味します - > www.example.com:8080/Subsite/Folder/Page.aspx

www.example.com:2000 - > www.example.com:2000/Subsite/Folder/Page.aspx

など

Byあなたのjavascriptの音は無関係です。なぜなら、最初にURLにdomain:portがないからです。

あなたはオプションは次のとおりです。

  1. は、URLに(ポートなし)ドメインを追加します。現在のページのドメイン部分だけを取得する方法については、オンラインでたくさんの例があります。その後、現在のjavascriptの修正版を使用して、新しいURL(http://)を各URLの先頭に追加します。
  2. 正しいドメイン:ポートを使用するように、他のサイトが使用するエントリゲートを変更します。私はあなたの状況、またはあなたの設定を完全に理解していません。しかし、うまくいけば、これはあなたのニーズに合わせるのに十分な意味があります。