`

禁止用户打开HTML页面调试

阅读更多

【前言】

      寒假在家追了几天剧,在一个小网站上看《还珠格格》时感到页面布局和兼容都十分不错,于是想查看下代码,没想到被屏蔽了。

      之前有提到过过,今天又突然想到,这里介绍下如何禁止调试代码

 

【概论】

       有些时候,我们可能想要禁止用户修改或者调试我们HTML页面的代码,这个时候需要组织用户打开调试窗口,下面介绍一些能够阻止用户在浏览器中打开调试窗口的方法,这些方法只能一定程度的提高打开调试的门槛,并不能完全杜绝。

 

【列表】

(1)禁用F12

(2)禁用右键

(3)禁用预先调试

 

【详解】

(1)禁用F12

   对于使用F12打开调试窗口的方法,我们只要注册F12按键的处理方法,并阻止默认事件行为即可:

window.onkeydown = window.onkeyup = window.onkeypress = function (event) {
    // 判断是否按下F12,F12键码为123
    if (event.keyCode = 123) {
        event.preventDefault(); // 阻止默认事件行为
        window.event.returnValue = false;
    }
}

 

(2)禁用右键

   对于使用右键菜单,在右键菜单里面选择查看源代码的行为,我们只要覆盖右键菜单点击事件的行为就即可:

// 为右键添加自定义事件,可以禁用
window.oncontextmenu = function() {
    event.preventDefault(); // 阻止默认事件行为
    return false;
}

 

(3)禁用预先调试

      就算是同时禁用掉F12和右键,还有其他办法打开调试窗口,例如:

   ①提前打开调试窗口,然后在地址中输入网址,这样就算不用右键和F12也是打开调试窗口的;

   ②通过浏览器菜单打开开发者工具来开启调试窗口,还有诸如 shift+ctrl+i 的快捷键打开控制台

对于这种预先打开调试窗口的方法,我们可以通过比较屏幕 window.outerWidth 和页面可见内容区域 window.innerWidth 的差距判断是否打开控制台

var threshold = 160; // 打开控制台的宽或高阈值
// 每秒检查一次
window.setInterval(function() {
    if (window.outerWidth - window.innerWidth > threshold || 
    window.outerHeight - window.innerHeight > threshold) {
        // 如果打开控制台,则刷新页面
        window.location.reload();
    }
}, 1e3);

    这种方法对于像IE8这种,打开调试窗口是在一个新的Windows窗口中,而不是在当前页面的下面或者上面的情况会失效。

  

【拓展】

      (1)这里我用的是setInterval函数,关于setInterval(设置间隔)和setTimeout(设置超时),我在下篇文章做下区别和介绍

 

 

 

 

 

 

.

分享到:
评论

相关推荐

    H5缺省页(pc端禁止f12调试等操作)

    标题“H5缺省页(pc端禁止f12调试等操作)”提到的技术就是针对这种情况,旨在防止用户在PC端使用F12开发者工具对页面进行调试。这一方法主要依赖于JavaScript来实现,因此涉及到的知识点主要包括H5、前端技术和...

    JavaScript css浏览器的调试

    - **第一步**:打开需要调试的页面,通过查看 -> 脚本调试程序 -> 打开来激活调试模式。 - **第二步**:点击错误图标,在浏览器下方将出现调试信息面板,左侧显示代码,右侧显示错误信息。点击错误信息,左侧会...

    解决IE11中无法使用F12调试工具的问题

    当这个工具不可用时,调试和优化网页代码的过程将变得极其困难。本篇将详细介绍如何解决IE11中F12调试工具无法使用的常见问题。 首先,确保你的IE11浏览器是最新版本。微软定期发布更新来修复已知问题和提高性能。...

    js屏蔽F12审查元素,禁止修改页面代码等实现代码

    开发者工具允许用户查看和编辑网页的HTML、CSS和JavaScript,这在调试和学习时非常有用,但在某些场景下可能成为安全隐患。以下是一个简单的JavaScript代码片段,用于监听键盘事件并阻止F12键的触发: ```...

    让html页面不缓存js的实现方法

    本文实例讲述了让html页面不缓存js的实现方法。分享给大家供大家参考。具体实现方法如下: 很多朋友都会碰到这样的情况:如果我们页面加载了js的话下次打开时也会是调用这个js缓存文件,但对于我们调试时是非常的不...

    JS调试方法

    - 在IE中打开包含待调试JavaScript的网页。 - 使用“查看” > “脚本调试程序” > “打开”。 - 设置“本地变量”、“监视”和“即时”等窗口,以更好地跟踪和修改变量。 #### 二、使用Visual Studio .Net IDE...

    QtWebView在线加载网页Demo

    **QtWebView在线加载网页Demo详解** QtWebView是Qt框架中用于显示HTML内容的模块,它为开发者提供了一种在Qt应用程序中嵌入Web内容的能力。这个"QtWebView在线加载网页Demo"是一个很好的学习实例,特别适合那些希望...

    40种网页常用小技巧(JavaScript)

    当浏览器不支持JavaScript时,这段代码会加载一个指定的HTML页面。这对于确保所有用户都能访问网站的基本内容是非常有用的。 ### 六、按钮操作 #### 11. 查看页面源代码 ```html 查看页面源代码" onclick="window...

    40种网页常用小技巧.doc

    7. **查看源代码按钮**:`查看网页源代码 onclick="window.location = 'view-source:'+ 'http://www.williamlong.info'">` 创建一个按钮,点击后直接打开浏览器的查看源代码功能,方便学习和调试。 8. **删除确认**...

    网页源代码及破解的方法详解

    页面上也经常可以看到开发者为了方便调试使用的快捷键如Ctrl+U(Chrome、Firefox)或者Command+Option+U(Safari)。 2. 防止查看源代码的常用方法:网页制作者为了防止他人轻易查看源代码,可以采用一定的技术手段...

    禁用页面及页面所有frame内的右键菜单

    标题 "禁用页面及页面所有frame内的右键菜单" 涉及到的是网页交互中的一个常见需求,即阻止用户在网页或特定框架内通过鼠标右键点击打开默认的上下文菜单。这通常用于增强用户体验,防止用户无意或有意地复制、查看...

    SharePoint 2013 Ajax造成页面无法编辑.pdf

    在使用 SharePoint 2013 的过程中,部分用户遇到了一个比较特殊的问题:当尝试通过 Ajax 方式加载或更新页面时,会出现“此网页自上次打开后已被修改,必须再次打开该网页”的错误提示,导致页面无法正常编辑或完成...

    40种JS网页常用小技巧+.pdf

    2. **禁止选取和复制**:`<body onselectstart="return false">` 可以防止用户选取页面上的文本,同时`onpaste="return false"`、`oncopy="return false;"`和`oncut="return false;"`可以阻止用户复制和粘贴内容。 ...

    常用网页代码(非常好用)

    在网页开发中,有时我们需要用户点击某个链接后关闭当前窗口,并且不希望这个窗口对打开它的窗口产生任何影响。可以使用以下代码实现: ```html ;window.close();">点击这里关闭窗口 ``` 这段代码通过调用JavaScript...

    VB控件WEBBROWSER基本及进阶技巧合集.doc

    22. **取得源码调试正常运行错误**:使用`WebBrowser1.DocumentCompleted`事件检查源码,调试网页加载问题。 以上技巧涵盖了WebBrowser控件的常见操作,通过灵活运用这些方法和事件,开发者可以构建功能丰富的桌面...

    超实用的JavaScript代码段(代码逆袭)1

    页面控制是JavaScript的另一个重要应用场景,如打开新窗口、弹出确认框、阻止右键菜单、禁止滚动条、防止页面另存等。这些控制可以定制用户的浏览体验,同时也有助于保护网站内容。 总之,JavaScript不仅用于实现...

    用js限制网页只在微信浏览器中打开(或者只能手机端访问)

    标题中的“用js限制网页只在微信浏览器中打开”指的是通过JavaScript代码来检测用户访问网页时使用的浏览器类型,如果浏览器不是微信内置的浏览器(即非微信内置WebView),则会将用户重定向到一个错误提示页面。...

    javascript小技巧合集

    在`<body>`标签内加入`onselectstart="return false"`可以禁止用户选中文本,进一步加强了对页面内容的保护。结合`onpaste="return false"`、`oncopy="return false;"`以及`oncut="return false;"`,可以全面禁止...

    QQ空间页面显示异常怎么办-.docx

    打开浏览器,进入“工具”->“Internet选项”->“高级”设置,确保“禁止脚本调试”的选项未被选中。同时,保持浏览器版本是最新的,以获得最佳的兼容性和性能。对于IE浏览器,可以访问微软官网下载并安装最新版。 ...

Global site tag (gtag.js) - Google Analytics