右键单击重新加载页面,但没有上下文菜单

发布于 2024-12-11 02:26:18 字数 54 浏览 0 评论 0原文

有一个网络应用程序,我想在右键单击时重新加载页面,并且除了该行为之外,我不希望显示上下文菜单。

There is a webapp where I want to reload the page on right click and along with that behavior I don't want the context menu to be showed.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

梦亿 2024-12-18 02:26:18
<div id="nocontext">No context.</div>

window.onload = function(){
    document.getElementById('nocontext').oncontextmenu = function(){
        history.go(0);
        return false;
    }
}

注意:我复制了 Jared Farrish 在他的 jsfiddle 上发布的内容以及 James 提到的有关使用 History.go(0) 的内容;我在 Explorer 9、Firefox 和 Safari 中测试了上面的脚本。

<div id="nocontext">No context.</div>

window.onload = function(){
    document.getElementById('nocontext').oncontextmenu = function(){
        history.go(0);
        return false;
    }
}

Note: I copied what Jared Farrish posted on his jsfiddle and what James mentioned about using history.go(0); I tested above script in Explorer 9, Firefox and Safari.

等风也等你 2024-12-18 02:26:18

最短的方法可能是拦截 body 标记中的右键单击事件,如下所示:

<html>
    <body oncontextmenu="window.location.reload(); return false;" onload="alert('loaded');">
        Testing 1 2 3 ...
    </body>
</html>

“return false”阻止弹出默认上下文菜单。

不过,编写自己的事件处理函数将为您提供更多控制权。

The shortest way would probably be to intercept the right-click event in the body tag, like so:

<html>
    <body oncontextmenu="window.location.reload(); return false;" onload="alert('loaded');">
        Testing 1 2 3 ...
    </body>
</html>

"return false" prevents the default contextmenu from popping up.

Writing your own event handler function will give you more control, though.

池予 2024-12-18 02:26:18

您正在寻找这样的东西:

 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;
 document.oncontextmenu=new Function("window.location.reload();return false;"); // line added

除了重新加载之外,您还可以使用:

 history.go(0);
 window.location.href=window.location.href;

You are looking for something like this:

 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;
 document.oncontextmenu=new Function("window.location.reload();return false;"); // line added

Besides reload you may use:

 history.go(0);
 window.location.href=window.location.href;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文