js 禁止保存、屏蔽、缓存、页面保护等等代码大全
### JS禁止保存、屏蔽、缓存、页面保护等代码大全解析 #### 一、概述 在Web开发过程中,为了防止用户对网页进行某些操作(如保存网页内容、右键点击等),开发者有时会采取一系列的技术手段来实现这些功能。本文档汇集了多种使用JavaScript(简称JS)实现的功能,包括但不限于禁止保存网页、屏蔽缓存、保护页面不被右键点击以及控制浏览器的各种行为。接下来,将逐一解释这些代码的功能及其实现原理。 #### 二、禁止保存与屏蔽缓存 ##### 1. 禁止右键点击 - **代码实现**:`oncontextmenu="window.event.returnValue=false"` - `<table border oncontextmenu="return(false)"> <td>no</table>` - **功能说明**:这段代码的作用是禁止用户通过鼠标右键在页面上执行任何上下文菜单命令。当用户尝试右键点击时,不会弹出浏览器默认的上下文菜单。 - **实现原理**:通过`oncontextmenu`事件监听器阻止默认上下文菜单的行为。 ##### 2. 禁止选中文字 - **代码实现**:`<body onselectstart="return false">` - **功能说明**:此段代码可以阻止用户在页面上选中文字。 - **实现原理**:利用`onselectstart`事件处理程序,该事件会在元素开始被选中时触发,通过返回`false`来取消选中文本的行为。 ##### 3. 禁止粘贴 - **代码实现**:`onpaste="return false"` - **功能说明**:阻止用户在输入框内粘贴文本。 - **实现原理**:通过监听`onpaste`事件,并返回`false`来取消默认的粘贴行为。 ##### 4. 禁止复制和剪切 - **代码实现**:`oncopy="return false;" oncut="return false;"` - **功能说明**:阻止用户在页面上复制或剪切文本。 - **实现原理**:通过监听`oncopy`和`oncut`事件,并返回`false`来取消复制和剪切操作。 #### 三、控制浏览器行为 ##### 5. 更改浏览器地址栏图标 - **代码实现**: ```html <link rel="Shortcut Icon" href="favicon.ico"> ``` - **功能说明**:更改浏览器地址栏中的图标为自定义图标。 - **实现原理**:通过`<link>`标签指定一个名为`favicon.ico`的图标文件作为浏览器标签页图标。 ##### 6. 更改书签图标 - **代码实现**: ```html <link rel="Bookmark" href="favicon.ico"> ``` - **功能说明**:更改书签中的图标为自定义图标。 - **实现原理**:同上,通过`<link>`标签指定一个名为`favicon.ico`的图标文件作为书签图标。 ##### 7. 禁用IME模式 - **代码实现**:`<input style="ime-mode: disabled">` - **功能说明**:禁用输入法编辑器(IME)模式,防止用户在输入框中使用输入法。 - **实现原理**:通过CSS属性`ime-mode`设置为`disabled`来禁用IME。 ##### 8. 禁止页面被框架显示 - **代码实现**: ```javascript if (window == top) { top.location.href = "frames.htm"; } ``` - **功能说明**:如果当前页面不是在一个框架中打开,则将其重定向到另一个页面(例如“frames.htm”)。 - **实现原理**:通过判断`window`对象是否等于`top`对象来确定页面是否在一个框架中显示,如果不等于则重定向页面。 ##### 9. 禁止框架嵌入 - **代码实现**: ```javascript if (top.location != self.location) { top.location = self.location; } ``` - **功能说明**:防止当前页面被其他页面以框架的形式加载。 - **实现原理**:通过比较`top.location`和`self.location`来确保页面只在一个顶层窗口中打开。 #### 四、其他功能 ##### 10. 使用`<noscript>`标签 - **代码实现**: ```html <noscript> <iframe src="*.html"></iframe> </noscript> ``` - **功能说明**:当浏览器禁用了JavaScript时,显示一个备选页面。 - **实现原理**:`<noscript>`标签用于定义在浏览器禁用脚本时显示的内容。 ##### 11. 显示源代码链接 - **代码实现**: ```html <input type="button" value="查看网页源码" onclick="window.location='view-source:'+'http://www.csdn.net/'"> ``` - **功能说明**:提供一个按钮,点击后显示页面的源代码。 - **实现原理**:通过设置按钮的`onclick`事件来改变窗口的位置,从而查看源代码。 ##### 12. 检测代理服务器 - **代码实现**: ```asp <% if Request.ServerVariables("HTTP_X_FORWARDED_FOR") <> "" then Response.Write "<font color=#FF0000>通过代理服务器,真实IP为" & _ Request.ServerVariables("HTTP_X_FORWARDED_FOR") %> ``` - **功能说明**:检测用户是否通过代理服务器访问网站,并显示真实的IP地址。 - **实现原理**:通过检查HTTP头部中的`X-Forwarded-For`字段来获取代理服务器后面的真实IP地址。 ##### 13. 获取元素位置 - **代码实现**(JavaScript): ```javascript function getIE(e) { var t = e.offsetTop; var l = e.offsetLeft; while (e = e.offsetParent) { t += e.offsetTop; l += e.offsetLeft; } alert("top=" + t + "\nleft=" + l); } ``` **功能说明**:获取页面中某个元素相对于浏览器视窗的位置。 **实现原理**:通过遍历元素及其父级元素的`offsetTop`和`offsetLeft`属性来计算最终位置。 - **代码实现**(VBScript): ```vb function getIE() dim t, l, a, b set a = document.all.img1 t = document.all.img1.offsetTop l = document.all.img1.offsetLeft while a.tagName <> "BODY" set a = a.offsetParent t = t + a.offsetTop l = l + a.offsetLeft wend msgbox "top=" & t & chr(13) & "left=" & l, 64, "获取元素位置" end function ``` **功能说明**:与JavaScript版本相同,获取页面中某个元素相对于浏览器视窗的位置。 **实现原理**:同JavaScript版本,通过遍历元素及其父级元素的`offsetTop`和`offsetLeft`属性来计算最终位置。 ##### 14. 控制光标位置 - **代码实现**: ```javascript function cc() { var e = event.srcElement; var r = e.createTextRange(); r.moveStart('character', e.value.length); r.collapse(true); r.select(); } ``` **功能说明**:控制输入框内的光标位置。 **实现原理**:使用`createTextRange`方法创建文本范围,然后移动光标到指定位置。 ##### 15. 获取页面来源 - **代码实现**(ASP): ```asp request.servervariables("HTTP_REFERER") ``` **功能说明**:获取用户访问当前页面之前的URL。 **实现原理**:通过`HTTP_REFERER`变量获取上一个页面的URL。 - **代码实现**(JavaScript): ```javascript document.referrer ``` **功能说明**:同上,获取用户访问当前页面之前的URL。 **实现原理**:通过`document.referrer`属性获取上一个页面的URL。 ##### 16. 最小化/最大化窗口 - **代码实现**: ```html <object id="hh1" classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> <param name="Command" value="Minimize"> </object> <object id="hh2" classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> <param name="Command" value="Maximize"> </object> ``` **功能说明**:通过`<object>`标签调用特定ActiveX控件实现最小化和最大化窗口的操作。 **实现原理**:使用指定的ActiveX控件ID和`Command`参数来控制窗口大小。 #### 五、总结 以上汇总了多种JavaScript技术来实现对网页的保护和控制。这些技术在特定场景下非常有用,但同时也需要注意它们可能会对用户体验造成一定的负面影响。开发者应根据实际需求谨慎使用。
- 北极熊的冬天2012-12-05收藏了,以后再用
- 粉丝: 2
- 资源: 9
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助