### JavaScript中最常用的55个经典技巧详解
#### 技巧一:禁用右键菜单
在网页开发过程中,有时为了防止用户随意复制页面内容或查看源代码,会使用以下代码来禁用浏览器的右键菜单功能:
```html
<body oncontextmenu="window.event.returnValue=false">
```
或者对特定元素进行设置:
```html
<table border oncontextmenu="return false"><td>no</table>
```
#### 技巧二:禁止文本选取
通过设置`onselectstart`事件,可以阻止用户选中文本内容:
```html
<body onselectstart="return false">
```
#### 技巧三:禁用粘贴
同样地,可以通过`onpaste`事件来禁用粘贴操作:
```html
<body onpaste="return false">
```
#### 技巧四:禁用复制与剪切
```html
<body oncopy="return false;" oncut="return false;">
```
#### 技巧五:设置IE浏览器图标
对于IE浏览器,可以通过以下方式来设置浏览器标签页上的小图标(favicon):
```html
<link rel="Shortcut Icon" href="favicon.ico">
```
#### 技巧六:设置其他浏览器图标
对于非IE浏览器,则可以使用:
```html
<link rel="Bookmark" href="favicon.ico">
```
#### 技巧七:禁用输入法
对于某些需要精确控制输入的表单,可以禁用输入法,以确保输入正确性:
```html
<input style="ime-mode:disabled">
```
#### 技巧八:自动跳转至框架页面
如果希望用户访问一个特定的框架页面,可以通过以下脚本来实现自动跳转:
```javascript
<script language="JavaScript">
<!--
if (window == top) {
top.location.href = "frames.htm"; // frames.htm为框架页面的URL
}
//-->
</script>
```
#### 技巧九:防止嵌入式框架
为避免网站内容被其他站点通过iframe嵌入,可以使用以下代码:
```javascript
<script language="JavaScript">
<!--
if (top.location != self.location) {
top.location = self.location;
}
//-->
</script>
```
#### 技巧十:提供非JavaScript版本的页面
对于不支持JavaScript的浏览器,可以提供一个备用的HTML页面:
```html
<noscript>
<iframe src="/*.html"></iframe>
</noscript>
```
#### 技巧十一:查看页面源代码
为了让用户能够查看当前页面的源代码,可以添加一个按钮:
```html
<input type="button" value="点击查看页面源代码" onclick="window.location='view-source:' + 'http://www.pconline.com.cn'">
```
#### 技巧十二:删除时确认提示
为了避免误操作,在删除操作前加入确认对话框:
```html
<a href="#" onclick="if (confirm('确定要删除吗?')) location='boos.asp?&areyou=删除&page=1';">删除</a>
```
#### 技巧十三:获取元素的绝对位置
可以通过以下JavaScript或VBScript代码来获取页面上某个元素的确切位置:
**JavaScript版本**:
```javascript
<script language="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);
}
</script>
```
**VBScript版本**:
```vbscript
<script language="VBScript">
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
</script>
```
#### 技巧十四:设置文本框光标位置
当用户点击某个输入框时,光标自动定位到文本末尾:
```html
<script language="javascript">
function cc() {
var e = event.srcElement;
var r = e.createTextRange();
r.moveStart("character", e.value.length);
r.collapse(true);
r.select();
}
</script>
<input type="text" name="text1" value="123" onfocus="cc()">
```
#### 技巧十五:获取当前页面的引用来源
可以使用`document.referrer`属性来获取用户是从哪个页面链接过来的:
```javascript
javascript: document.referrer
```
#### 技巧十六:最小化、最大化、关闭浏览器窗口
使用ActiveX控件来实现窗口操作功能:
```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 id="hh3" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<PARAM NAME="Command" value="/Close"></OBJECT>
<input type="button" value="最小化" onclick="hh1.Click">
```
以上列举了JavaScript中的部分常用技巧,涵盖了网页开发中的多个方面,包括但不限于:页面元素控制、用户交互处理、页面加载优化等。掌握这些技巧不仅有助于提高网页的用户体验,还能有效增强网站的安全性和功能性。