JavaScriptで生成されたリンクがあり、右クリックして[新しいタブで開く]を選択できないか、そのアクションをまったく実行しないことで、ユーザーがリンクを開かないようにする必要があります。
何か案は?
編集:私はそれが正しいかどうかを尋ねる質問を提起しませんでしたが、それが可能かどうかを知るために。あなたが適切な答えで私を助けることができるならば、してください、さもなければ、私が解決する必要のない問題への提案を私に与えないでください。態度でごめんなさい。
JavaScriptで生成されたリンクがあり、右クリックして[新しいタブで開く]を選択できないか、そのアクションをまったく実行しないことで、ユーザーがリンクを開かないようにする必要があります。
何か案は?
編集:私はそれが正しいかどうかを尋ねる質問を提起しませんでしたが、それが可能かどうかを知るために。あなたが適切な答えで私を助けることができるならば、してください、さもなければ、私が解決する必要のない問題への提案を私に与えないでください。態度でごめんなさい。
javascriptで生成されたリンクがあり、右クリックして[新しいタブで開く]を選択できないか、そのアクションをまったく実行しないことで、ユーザーがリンクを開かないようにする必要があります。
できません。正直なところ、これを欲しがる正当な理由もわかりません。タブでページを開いた結果は、単にページを開いた場合と同じです。とにかく、サイトが1つのタブで開かれたのか、別のタブで開かれたのかを判断する方法はありません。
最善の解決策は、リンクの使用をまったく避けることかもしれません。代わりに、<span>
または<div>
(または同様のもの)を使用して、ページをリダイレクトするクリックイベントハンドラーをバインドします。
document.getElementById("mylinkdiv").addEventListener("click", function() {
window.location.href = "foo.html"
}
有効になっているJavaScriptにサイト機能を依存させたくないので、一般的にこれは悪いことですが、ユーザーが最初にリンクを表示するにはJavaScriptが必要であると既に述べています。
これはできません。単純。ありえない
これを行うには、ページの右クリックを無効にします。「新しいタブでリンクを開く」はブラウザ固有の機能であるため、右クリックメニューでその機能を選択的に無効にすることはできません。このスクリプトをWebページに配置して、右クリックを無効にします。
<script language=JavaScript>
var message = "You cannot right Click on this page";
function rtclickcheck(keyp){ if (navigator.appName == "Netscape" && keyp.which == 3)
{
alert(message);
return false;
}
if (navigator.appVersion.indexOf("MSIE") != -1 && event.button == 2)
{
alert(message);
return false;
}
}
document.onmousedown = rtclickcheck;
</script>