据我所知,我们可以使用以下Javascript代码禁用新窗口的 ctrl + N 键:
document.onkeydown = function() {
alert(event.keyCode)
if ((event.keyCode == 78) && (event.ctrlKey)) {
alert ("No new window")
event.cancelBubble = true;
event.returnValue = false;
event.keyCode = false; return false;
}
}
在我的情况下,有3个框架,其中一个已修复(菜单栏我可以放置此代码),但如果焦点位于其他框架中,则不会捕获此事件。如何在浏览器窗口中全局实现此限制?
答案 0 :(得分:2)
您必须包含每个文档(框架)的脚本。如果所有帧都来自同一个域,您应该可以从单个入口点开始,使用window.frames
集合并逐步到达每个帧的文档对象。
此外,您的脚本仅适用于IE。
这也是一个可怕的想法。你不应该接管人们的浏览器功能。
答案 1 :(得分:2)
将您的代码放在常见的.js(javascript)文件中,并将.js链接到所有页面。 如果您想要删除功能或添加任何集中功能,它将有所帮助。
答案 2 :(得分:1)
我认为您不允许以这种方式从网页控制浏览器(您也不应该这样)
答案 3 :(得分:0)
虽然这些问题通常是合法的,但尝试执行诸如阻止关键组合或right-click这样的事情实际上对您的网站不利。考虑一下:
用户希望他们的浏览器以某种方式工作。当您篡改此功能时,用户可能会感到沮丧。他们可能会认为您的网站已损坏,并离开。
当您尝试阻止用户执行内置操作时,您实质上是在监管他们的行为。除非在您的监督下,否则这会向用户表明您不相信他们使用您的网站。用户会感到被侮辱,然后离开。
如果用户禁用了JavaScript,会发生什么?或者,如果他们有自定义规则集,阻止网站更改其浏览器的行为?
打开一个新窗户有什么不妥?如果这是一个安全问题,那么应该妥善修复。如果用户有这些想法,他们可能会感到不安全,并离开。
在启动网站之前,必须考虑这些(以及许多其他事项)。希望这可以帮助您完成项目。