1

私はこのスクリプトを持っています:

window.onload = function(){
    document.getElementById('workspace').oncontextmenu = function(){
    return false;
    }
}

function click(e) {
    if (navigator.appName == 'Netscape' && e.which == 3) {
       window.location.reload();
       return false;
else {
    if (navigator.appName == 'Microsoft Internet Explorer' && event.button==2)
       window.location.reload();
       return false;
}
return true;
}
document.onmousedown=click;

私の要素workspaceのIDです。<body>基本的にこのスクリプトは、ページを右クリックすると現在のページをリロードします。私はそれに満足しています、これは私が望むすべてです。

しかし、このスクリプトにはバグがあります。問題は、左クリックが無効になっていることです。ウェブページにテキストがありますが、このスクリプトを有効にしてテキストを選択できます。

JavaScript の経験はあまりありませんが、スクリプトの最後の行を削除してみました。そうすると、左クリックが機能し始め、テキストを選択できますが、すぐにリロードが機能しないことに気付きました。

4

1 に答える 1

1

3 行目のクリック機能が原因である可能性がありますreturn false}前に必要で、最後のブロックelse {でラップする必要があります。{ }if

このようなものは問題ないはずです。

function click(e) {
  if (navigator.appName == 'Netscape' && e.which == 3) {
     window.location.reload()
     return false;
  } else {
     if (navigator.appName == 'Microsoft Internet Explorer' && event.button==2) {
       window.location.reload();
       return false;
     }
  }
  return true;
}
于 2012-09-22T16:39:26.693 に答える