11

右クリック メニューのハイパーリンクで、[新しいタブ開く] オプションと [新しいウィンドウで開く] オプションを削除または非表示にするにはどうすればよいですか?

例えば

<a href="#" onclick="asd">foo</a>
4

3 に答える 3

24

なぜこれを行う必要があるのか​​ はわかりませんが、を属性に移動してhrefから、data-hrefを削除しhrefてクリックハンドラーを追加することで実行できます。onclick は を読み取り、data-hrefリダイレクトします。

デモ

var links = document.getElementsByTagName("a");

for(var i=0; i<links.length; i++){
    links[i].setAttribute("data-href", links[i].getAttribute("href"));
    links[i].removeAttribute("href");
    links[i].onclick = function(){
        window.location = this.getAttribute("data-href");
    };
}

右クリック メニューには次のものが表示されます。

ここに画像の説明を入力

于 2013-06-18T12:57:11.330 に答える
2

プレーンな html リンクの代わりに JavaScript リンクを使用できます。href="javascript:void(0)" を実行し、クリック イベントを処理してページをリダイレクトするだけです。これにより、別のタブで開くオプションが削除されるわけではありませんが、試したときにページが実際に開かないことが保証されます。

また、HTML タグの代わりに、次のような別のタグを使用して、cursor:pointer css プロパティと jquery onclick を指定して、リンクのように機能させることもできます。これにより、コンテキストメニューから「別のタブで開く」オプションが完全に削除されます。

于 2013-06-18T12:50:03.903 に答える
0

次のコードを使用して実行できます。

<script language="javascript">
$("a").click(function(event)
{
  if(event.button==2)
   {
     return false;    
   }
});
</script>
于 2013-06-18T12:50:03.343 に答える