当在embed html文件上有右键单击事件时,我试图隐藏上下文菜单。
我的代码运行良好,然而,当我右击嵌入窗口时,菜单不再隐藏。
如何明确隐藏上下文菜单(在某些版本的Safari浏览器版本9.1.1 (11601.6.17)中)?
js
if (document.addEventListener) {
document.addEventListener('contextmenu', function(e) {
alert("You've tried to open context menu"); //here you draw your own menu
e.preventDefault();
}, false);
} else {
document.attachEvent('oncontextmenu', function() {
alert("You've tried to open context menu");
window.event.returnValue = false;
});
}发布于 2016-07-13 08:28:42
代码应该可以正常工作...正如你所说,它在你的代码(不在嵌入页面中)中工作良好,这取决于你用来嵌入页面的方法,yo可能(不能)能够修改它(你不能为了用户安全问题而修改嵌入网站,特别是当嵌入站点在其他域中时),你可以考虑使用代理。
我不知道隐藏上下文菜单的目的,但如果我可以给你一些建议,我认为这是不必要的,因为用户只是偶尔右键单击;但当他们这样做时,他们希望能够在您右键单击时执行常见的操作(复制、搜索、翻译和其他服务)
https://stackoverflow.com/questions/38273958
复制相似问题