右クリック メニューのハイパーリンクで、[新しいタブで開く] オプションと [新しいウィンドウで開く] オプションを削除または非表示にするにはどうすればよいですか?
例えば
<a href="#" onclick="asd">foo</a>
右クリック メニューのハイパーリンクで、[新しいタブで開く] オプションと [新しいウィンドウで開く] オプションを削除または非表示にするにはどうすればよいですか?
例えば
<a href="#" onclick="asd">foo</a>
なぜこれを行う必要があるのか はわかりませんが、を属性に移動して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");
};
}
右クリック メニューには次のものが表示されます。
プレーンな html リンクの代わりに JavaScript リンクを使用できます。href="javascript:void(0)" を実行し、クリック イベントを処理してページをリダイレクトするだけです。これにより、別のタブで開くオプションが削除されるわけではありませんが、試したときにページが実際に開かないことが保証されます。
また、HTML タグの代わりに、次のような別のタグを使用して、cursor:pointer css プロパティと jquery onclick を指定して、リンクのように機能させることもできます。これにより、コンテキストメニューから「別のタブで開く」オプションが完全に削除されます。
次のコードを使用して実行できます。
<script language="javascript">
$("a").click(function(event)
{
if(event.button==2)
{
return false;
}
});
</script>