2

提前感谢您的回复。我想使用 javascript 禁用 IE 的查看源快捷键。要禁用“Ctrl + C”,我正在使用以下函数:

function disableCopy() {
     // current pressed key
     var pressedKey = String.fromCharCode(event.keyCode).toLowerCase();
     if (event.ctrlKey && (pressedKey == "c")) {
         // disable key press porcessing
         event.returnValue = false;
     }
}

有人可以建议如何禁用“Alt + V + C”组合吗?

4

3 回答 3

2

每个浏览器都具有查看源代码或网页的内置功能。我们可以做一件事。那就是禁用页面中的右键单击。

要禁用右键单击,请使用以下代码:

<SCRIPT TYPE="text/javascript">
function disableselect(e){
return false
}
function reEnable(){
return true
}
//if IE4+
document.onselectstart=new Function ("return false")
//if NS6
if (window.sidebar){
document.onmousedown=disableselect
document.onclick=reEnable
}
</SCRIPT>

记住一件事。我们可以使用 firebug 或其他一些第三方工具查看此源。所以我们不能100%做到这一点。

于 2012-07-11T13:27:56.767 回答
1

您不应该真正阻止查看代码。为什么?

原因

  1. 最终,经过你所有的努力,如果有人确定他仍然可以看到你的代码。

  2. 这样做会诽谤您的网站。

  3. 你会表现得像一个“菜鸟”,因为通常其他开发人员会看到代码,他们会通过禁用 javascript 来突破你的安全措施。

  4. 您的代码中没有敏感信息(我想)可以用来构成威胁。但是,如果您有一些可用于网站的代码,您应该真正考虑删除该代码并确保网站安全。

禁用组合

  document.onkeydown = function(e) {
        if (e.altKey && (e.keyCode === 67||e.keyCode === 86)) {//Alt+c, Alt+v will also be disabled sadly.
            alert('not allowed');
        }
        return false;
};​

任何方法,因为我知道怎么做,我会告诉你。

此处禁用右键单击:

function clickIE() {if (document.all) {return false;}} 
function clickNS(e) {if 
(document.layers||(document.getElementById&&!document.all)) { 
if (e.which==2||e.which==3) {return false;}}} 
if (document.layers) 
{document.captureEvents(Event.MOUSEDOWN);document.onmousedown=clickNS;} 
else{document.onmouseup=clickNS;document.oncontextmenu=clickIE;} 
document.oncontextmenu=new Function("return false") 
于 2012-07-11T13:39:33.450 回答
0

alt + V + C 是一个非常奇怪的组合。虽然下面的代码可以工作,但它有点骇人听闻。

if (event.altKey) {
    if (event.keyCode == 67 && window.prevKey == 86)
        event.preventDefault();
    else if (event.keyCode == 86 && window.prevKey == 67)
        event.preventDefault();
    window.prevKey = event.keyCode
}
于 2012-07-11T13:51:03.877 回答