javascript技巧大全套
事件源对象
event.srcElement.tagName
event.srcElement.type
捕获释放
event.srcElement.setCapture();
event.srcElement.releaseCapture();
事件按键
event.keyCode
event.shiftKey
event.altKey
event.ctrlKey
事件返回值
event.returnValue
鼠标位置
event.x
event.y
窗体活动元素
document.activeElement
绑定事件
document.captureEvents(Event.KEYDOWN);
访问窗体元素
document.all(
"txt"
).focus();
document.all(
"txt"
).select();
窗体命令
document.execCommand
窗体COOKIE
document.cookie
菜单事件
document.oncontextmenu
创建元素
document.createElement(
"SPAN"
);
根据鼠标获得元素:
document.elementFromPoint(event.x,event.y).tagName==
"TD
document.elementFromPoint(event.x,event.y).appendChild(ms)
窗体图片
document.images[索引]
窗体事件绑定
document.onmousedown=scrollwindow;
元素
document.窗体.elements[索引]
对象绑定事件
document.all.xxx.detachEvent('onclick',a);
插件数目
navigator.plugins
取变量类型
typeof($js_libpath) == "
undefined
"
下拉框
下拉框.options[索引]
下拉框.options.length
查找对象
document.getElementsByName("
r1
");
document.getElementById(id);
定时
timer=setInterval('scrollwindow()',delay);
clearInterval(timer);
UNCODE编码
escape() ,unescape
父对象
obj.parentElement(dhtml)
obj.parentNode(dom)
交换表的行
TableID.moveRow(2,1)
替换CSS
document.all.csss.href = "
a.css
";
并排显示
display:inline
隐藏焦点
hidefocus=true
根据宽度换行
style="
word-
break
:
break
-all
"
自动刷新
<meta HTTP-EQUIV="
refresh
" CONTENT="
8;URL=http:
//c98.yeah.net">
简单邮件
<a href="mailto:aaa@bbb.com?subject=ccc&body=xxxyyy
">
快速转到位置
obj.scrollIntoView(true)
锚
<a name="
first
">
<a href="
#first">anchors</a>
网页传递参数
location.search();
可编辑
obj.contenteditable=
true
执行菜单命令
obj.execCommand
双字节字符
/[^\x00-\xff]/
汉字
/[\u4e00-\u9fa5]/
让英文字符串超出表格宽度自动换行
word-wrap:
break
-word; word-
break
:
break
-all;
透明背景
<IFRAME src="1.htm
" width=300 height=180 allowtransparency></iframe>
获得style内容
obj.style.cssText
HTML标签
document.documentElement.innerHTML
第一个style标签
document.styleSheets[0]
style标签里的第一个样式
document.styleSheets[0].rules[0]
防止点击空链接时,页面往往重置到页首端。
<a href="
javascript:
function
()
">word</a>
上一网页源
asp:
request.servervariables("
HTTP_REFERER
")
javascript:
document.referrer
释放内存
CollectGarbage();
禁止右键
document.oncontextmenu = function() { return false;}
禁止保存
<noscript><iframe src="
*.htm
"></iframe></noscript>
禁止选取<body oncontextmenu="
return
false
" ondragstart="
return
false
" onselectstart ="
return
false
" onselect="
document.selection.empty()
" oncopy="
document.selection.empty()
" onbeforecopy="
return
false
"onmouseup="
document.selection.empty()>
禁止粘贴
<input type=text onpaste=
"return false"
>
地址栏图标
<link rel=
"Shortcut Icon"
href=
"favicon.ico"
>
favicon.ico 名字最好不变16*16的16色,放虚拟目录根目录下
收藏栏图标
<link rel=
"Bookmark"
href=
"favicon.ico"
>
查看源码
<input type=button value=查看网页源代码 onclick=
"window.location = 'view-source:'+ 'http://www.csdn.net/'"
>
关闭输入法
<input style=
"ime-mode:disabled"
>
自动全选
<input type=text name=text1 value=
"123"
onfocus=
"this.select()"
>
ENTER键可以让光标移到下一个输入框
<input onkeydown=
"if(event.keyCode==13)event.keyCode=9"
>
文本框的默认值
<input type=text value=
"123"
onfocus=
"alert(this.defaultValue)"
>
title换行
obj.title =
"123 sdfs "
获得时间所代表的微秒
var
n1 =
new
Date(
"2004-10-10"
.replace(/-/g,
"\/"
)).getTime()
窗口是否关闭
win.closed
checkbox扁平
<input type=checkbox style=
"position: absolute; clip:rect(5px 15px 15px 5px)"
><br>
获取选中内容
document.selection.createRange().duplicate().text
自动完成功能
<input type=text autocomplete=on>打开该功能
<input type=text autocomplete=off>关闭该功能
窗口最大化
<body onload=
"window.resizeTo(window.screen.width - 4,window.screen.height-50);window.moveTo(-4,-4)"
>
无关闭按钮IE
window.open(
"aa.htm"
,
"meizz"
,
"fullscreen=7"
);
统一编码/解码
alert(decodeURIComponent(encodeURIComponent(
"http://你好.com?as= hehe"
)))
encodeURIComponent对
":"
、
"/"
、
";"
和
"?"
也编码
表格行指示
<tr onmouseover=
"this.bgColor='#f0f0f0'"
onmouseout=
"this.bgColor='#ffffff'"
>
//各种尺寸
s +=
"\r\n网页可见区域宽:"
+ document.body.clientWidth;
s +=
"\r\n网页可见区域高:"
+ document.body.clientHeight;
s +=
"\r\n网页可见区域高:"
+ document.body.offsetWeight +
" (包括边线的宽)"
;
s +=
"\r\n网页可见区域高:"
+ document.body.offsetHeight +
" (包括边线的宽)"
;
s +=
"\r\n网页正文全文宽:"
+ document.body.scrollWidth;
s +=
"\r\n网页正文全文高:"
+ document.body.scrollHeight;
s +=
"\r\n网页被卷去的高:"
+ document.body.scrollTop;
s +=
"\r\n网页被卷去的左:"
+ document.body.scrollLeft;
s +=
"\r\n网页正文部分上:"
+ window.screenTop;
s +=
"\r\n网页正文部分左:"
+ window.screenLeft;
s +=
"\r\n屏幕分辨率的高:"
+ window.screen.height;
s +=
"\r\n屏幕分辨率的宽:"
+ window.screen.width;
s +=
"\r\n屏幕可用工作区高度:"
+ window.screen.availHeight;
s +=
"\r\n屏幕可用工作区宽度:"
+ window.screen.availWidth;
//过滤数字
<input type=text onkeypress=
"return event.keyCode>=48&&event.keyCode<=57||(this.value.indexOf('.')<0?event.keyCode==46:false)"
onpaste=
"return !clipboardData.getData('text').match(/\D/)"
ondragenter=
"return false"
>
//特殊用途
<input type=button value=导入收藏夹 onclick=
"window.external.ImportExportFavorites(true,'http://localhost');"
>
<input type=button value=导出收藏夹 onclick=
"window.external.ImportExportFavorites(false,'http://localhost');"
>
<input type=button value=整理收藏夹 onclick=
"window.external.ShowBrowserUI('OrganizeFavorites', null)"
>
<input type=button value=语言设置 onclick=
"window.external.ShowBrowserUI('LanguageDialog', null)"
>
<input type=button value=加入收藏夹 onclick=
"window.external.AddFavorite('http://www.google.com/', 'google')"
>
<input type=button value=加入到频道 onclick=
"window.external.addChannel('http://www.google.com/')"
>
<input type=button value=加入到频道 onclick=
"window.external.showBrowserUI('PrivacySettings',null)"
>
//不缓存
<META HTTP-EQUIV=
"pragma"
CONTENT=
"no-cache"
>
<META HTTP-EQUIV=
"Cache-Control"
CONTENT=
"no-cache, must-revalidate"
>
<META HTTP-EQUIV=
"expires"
CONTENT=
"0"
>
//正则匹配
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:\n[\s| ]*\r
匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/
匹配首尾空格的正则表达式:(^\s*)|(\s*$)(像vbscript那样的trim函数)
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:http:
//([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
以下是例子:
利用正则表达式限制网页表单里的文本框输入内容:
用正则表达式限制只能输入中文:onkeyup=
"value=value.replace(/[^\u4E00-\u9FA5]/g,'')"
onbeforepaste=
"clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
1.用正则表达式限制只能输入全角字符: onkeyup=
"value=value.replace(/[^\uFF00-\uFFFF]/g,'')"
onbeforepaste=
"clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"
2.用正则表达式限制只能输入数字:onkeyup=
"value=value.replace(/[^\d]/g,'') "
onbeforepaste=
"clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
3.用正则表达式限制只能输入数字和英文:onkeyup=
"value=value.replace(/[\W]/g,'') "
onbeforepaste=
"clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
//消除图像工具栏
<IMG SRC=
"mypicture.jpg"
HEIGHT=
"100px"
WIDTH=
"100px"
GALLERYIMG=
"false"
>
or
<head>
<meta http-equiv=
"imagetoolbar"
content=
"no"
>
</head>
//无提示关闭
function
Close()
{
var
ua=navigator.userAgent
var
ie=navigator.appName==
"Microsoft Internet Explorer"
?
true
:
false
if
(ie)
{
var
IEversion=parseFloat(ua.substring(ua.indexOf(
"MSIE "
)+5,ua.indexOf(
";"
,ua.indexOf(
"MSIE "
))))
if
(IEversion< 5.5)
{
var
str =
'<object id=noTipClose classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">'
str +=
'<param name="Command" value="Close"></object>'
;
document.body.insertAdjacentHTML(
"beforeEnd"
, str);
document.all.noTipClose.Click();
}
else
{
window.opener =
null
;
window.close();
}
}
else
{
window.close()
}
}
//取得控件得绝对位置(1)
<script language=
"javascript"
>
function
getoffset(e)
{
var
t=e.offsetTop;
var
l=e.offsetLeft;
while
(e=e.offsetParent)
{
t+=e.offsetTop;
l+=e.offsetLeft;
}
var
rec =
new
Array(1);
rec[0] = t;
rec[1] = l;
return
rec
}
</script>
//获得控件的绝对位置(2)
oRect = obj.getBoundingClientRect();
oRect.left
oRect.
//最小化,最大化,关闭
<object id=min classid=
"clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"
>
<param name=
"Command"
value=
"Minimize"
></object>
<object id=max classid=
"clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"
>
<param name=
"Command"
value=
"Maximize"
></object>
<OBJECT id=close classid=
"clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"
>
<PARAM NAME=
"Command"
value=
"Close"
></OBJECT>
<input type=button value=最小化 onclick=min.Click()>
<input type=button value=最大化 onclick=max.Click()>
<input type=button value=关闭 onclick=close.Click()>
//光标停在文字最后
<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()"
>
//页面进入和退出的特效
进入页面<meta http-equiv=
"Page-Enter"
content=
"revealTrans(duration=x, transition=y)"
>
推出页面<meta http-equiv=
"Page-Exit"
content=
"revealTrans(duration=x, transition=y)"
>
这个是页面被载入和调出时的一些特效。duration表示特效的持续时间,以秒为单位。transition表示使
用哪种特效,取值为1-23:
0 矩形缩小
1 矩形扩大
2 圆形缩小
3 圆形扩大
4 下到上刷新
5 上到下刷新
6 左到右刷新
7 右到左刷新
8 竖百叶窗
9 横百叶窗
10 错位横百叶窗
11 错位竖百叶窗
12 点扩散
13 左右到中间刷新
14 中间到左右刷新
15 中间到上下
16 上下到中间
17 右下到左上
18 右上到左下
19 左上到右下
20 左下到右上
21 横条
22 竖条
23
//网页是否被检索
<meta name=
"ROBOTS"
content=
"属性值"
>
其中属性值有以下一些:
属性值为
"all"
: 文件将被检索,且页上链接可被查询;
属性值为
"none"
: 文件不被检索,而且不查询页上的链接;
属性值为
"index"
: 文件将被检索;
属性值为
"follow"
: 查询页上的链接;
属性值为
"noindex"
: 文件不检索,但可被查询链接;
属性值为
"nofollow"
:
//打印分页
<p style=
"page-break-after:always"
>page1</p>
<p style=
"page-break-after:always"
>page2</p>
//设置打印
<object id=
"factory"
style=
"display:none"
viewastext
classid=
"clsid:1663ed61-23eb-11d2-b92f-008048fdd814"
codebase=
"http://www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360"
></object>
<input type=button value=页面设置 onclick=
"factory.printing.PageSetup()"
>
<input type=button value=打印预览 onclick=
"factory.printing.Preview()"
>
<script language=javascript>
function
window.onload()
{
// -- advanced features
factory.printing.SetMarginMeasure(2)
// measure margins in inches
factory.printing.SetPageRange(
false
, 1, 3)
// need pages from 1 to 3
factory.printing.printer =
"HP DeskJet 870C"
factory.printing.copies = 2
factory.printing.collate =
true
factory.printing.paperSize =
"A4"
factory.printing.paperSource =
"Manual feed"
// -- basic features
factory.printing.header =
"居左显示&b居中显示&b居右显示页码,第&p页/共&P页"
factory.printing.footer =
"(自定义页脚)"
factory.printing.portrait =
false
factory.printing.leftMargin = 0.75
factory.printing.topMargin = 1.5
factory.printing.rightMargin = 0.75
factory.printing.bottomMargin = 1.5
}
function
Print(frame) {
factory.printing.Print(
true
, frame)
// print with prompt
}
</script>
<input type=button value=
"打印本页"
onclick=
"factory.printing.Print(false)"
>
<input type=button value=
"页面设置"
onclick=
"factory.printing.PageSetup()"
>
<input type=button value=
"打印预览"
onclick=
"factory.printing.Preview()"
><br>
<a href=
"http://www.meadroid.com/scriptx/docs/printdoc.htm?static"
target=_blank>具体使用手册,更多信息,点这里</a>
//自带的打印预览
WebBrowser.ExecWB(1,1) 打开
Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
Web.ExecWB(4,1) 保存网页
Web.ExecWB(6,1) 打印
Web.ExecWB(7,1) 打印预览
Web.ExecWB(8,1) 打印页面设置
Web.ExecWB(10,1) 查看页面属性
Web.ExecWB(15,1) 好像是撤销,有待确认
Web.ExecWB(17,1) 全选
Web.ExecWB(22,1) 刷新
Web.ExecWB(45,1) 关闭窗体无提示
<style media=print>
.Noprint{display:none;}<!--用本样式在打印时隐藏非打印项目-->
.PageNext{page-
break
-after: always;}<!--控制分页-->
</style>
<object id=
"WebBrowser"
width=0 height=0 classid=
"CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"
>
</object>
<center
class
=
"Noprint"
>
<input type=button value=打印 onclick=document.all.WebBrowser.ExecWB(6,1)>
<input type=button value=直接打印 onclick=document.all.WebBrowser.ExecWB(6,6)>
<input type=button value=页面设置 onclick=document.all.WebBrowser.ExecWB(8,1)>
</p>
<p> <input type=button value=打印预览 onclick=document.all.WebBrowser.ExecWB(7,1)>
</center>
//去掉打印时的页眉页脚
<script language=
"JavaScript"
>
var
HKEY_Root,HKEY_Path,HKEY_Key;
HKEY_Root=
"HKEY_CURRENT_USER"
;
HKEY_Path=
"\\Software\\Microsoft\\Internet Explorer\\PageSetup\\"
;
//设置网页打印的页眉页脚为空
function
PageSetup_Null()
{
try
{
var
Wsh=
new
ActiveXObject(
"WScript.Shell"
);
HKEY_Key=
"header"
;
Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,
""
);
HKEY_Key=
"footer"
;
Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,
""
);
}
catch
(e){}
}
//设置网页打印的页眉页脚为默认值
function
PageSetup_Default()
{
try
{
var
Wsh=
new
ActiveXObject(
"WScript.Shell"
);
HKEY_Key=
"header"
;
Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,
"&w&b页码,&p/&P"
);
HKEY_Key=
"footer"
;
Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,
"&u&b&d"
);
}
catch
(e){}
}
</script>
<input type=
"button"
value=
"清空页码"
onclick=PageSetup_Null()>
<input type=
"button"
value=
"恢复页码"
onclick=PageSetup_Default()>
//浏览器验证
function
checkBrowser()
{
this
.ver=navigator.appVersion
this
.dom=document.getElementById?1:0
this
.ie6=(
this
.ver.indexOf(
"MSIE 6"
)>-1 &&
this
.dom)?1:0;
this
.ie5=(
this
.ver.indexOf(
"MSIE 5"
)>-1 &&
this
.dom)?1:0;
this
.ie4=(document.all && !
this
.dom)?1:0;
this
.ns5=(
this
.dom && parseInt(
this
.ver) >= 5) ?1:0;
this
.ns4=(document.layers && !
this
.dom)?1:0;
this
.mac=(
this
.ver.indexOf(
'Mac'
) > -1) ?1:0;
this
.ope=(navigator.userAgent.indexOf(
'Opera'
)>-1);
this
.ie=(
this
.ie6 ||
this
.ie5 ||
this
.ie4)
this
.ns=(
this
.ns4 ||
this
.ns5)
this
.bw=(
this
.ie6 ||
this
.ie5 ||
this
.ie4 ||
this
.ns5 ||
this
.ns4 ||
this
.mac ||
this
.ope)
this
.nbw=(!
this
.bw)
return
this
;
}
//计算内容宽和高
<SCRIPT language=
"javascript"
>
function
test(obj)
{
var
range = obj.createTextRange();
alert(
"内容区宽度: "
+ range.boundingWidth
+
"px\r\n内容区高度: "
+ range.boundingHeight +
"px"
);
}
</SCRIPT>
<BODY>
<Textarea id=
"txt"
height=
"150"
>sdf</textarea><INPUT type=
"button"
value=
"计算内容宽度"
onClick=
"test(txt)"
>
</BODY>
//无模式的提示框
function
modelessAlert(Msg)
{
window.showModelessDialog(
"javascript:alert(\""
+escape(Msg)+
"\");window.close();"
,
""
,
"status:no;resizable:no;help:no;dialogHeight:height:30px;dialogHeight:40px;"
);
}
//屏蔽按键
<html>
<head>
<meta http-equiv=
"Content-Type"
content=
"text/html; charset=gb2312"
>
<noscript><meta http-equiv=
"refresh"
content=
"0;url=about:noscript"
></noscript>
<title>屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键</title>
</head>
<body>
<script language=
"Javascript"
><!--
//屏蔽鼠标右键、Ctrl+N、Shift+F10、F11、F5刷新、退格键
//Author: meizz(梅花雨) 2002-6-18
function
document.oncontextmenu(){event.returnValue=
false
;}
//屏蔽鼠标右键
function
window.onhelp(){
return
false
}
//屏蔽F1帮助
function
document.onkeydown()
{
if
((window.event.altKey)&&
((window.event.keyCode==37)||
//屏蔽 Alt+ 方向键 ←
(window.event.keyCode==39)))
//屏蔽 Alt+ 方向键 →
{
alert(
"不准你使用ALT+方向键前进或后退网页!"
);
event.returnValue=
false
;
}
/* 注:这还不是真正地屏蔽 Alt+ 方向键,
因为 Alt+ 方向键弹出警告框时,按住 Alt 键不放,
用鼠标点掉警告框,这种屏蔽方法就失效了。以后若
有哪位高手有真正屏蔽 Alt 键的方法,请告知。*/
if
((event.keyCode==8) ||
//屏蔽退格删除键
(event.keyCode==116)||
//屏蔽 F5 刷新键
(event.ctrlKey && event.keyCode==82)){
//Ctrl + R
event.keyCode=0;
event.returnValue=
false
;
}
if
(event.keyCode==122){event.keyCode=0;event.returnValue=
false
;}
//屏蔽F11
if
(event.ctrlKey && event.keyCode==78) event.returnValue=
false
;
//屏蔽 Ctrl+n
if
(event.shiftKey && event.keyCode==121)event.returnValue=
false
;
//屏蔽 shift+F10
if
(window.event.srcElement.tagName ==
"A"
&& window.event.shiftKey)
window.event.returnValue =
false
;
//屏蔽 shift 加鼠标左键新开一网页
if
((window.event.altKey)&&(window.event.keyCode==115))
//屏蔽Alt+F4
{
window.showModelessDialog(
"about:blank"
,
""
,
"dialogWidth:1px;dialogheight:1px"
);
return
false
;
}
}
</script>
屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键
</body>
</html>
//屏蔽打印
<style>
@media print{
* {display:none}
}
</style>
//移动的图层,拖动
1.<span style=
'position:absolute;width:200;height:200;background:red'
onmousedown=MouseDown(
this
) onmousemove=MouseMove() onmouseup=MouseUp()>meizz</span>
<script language=javascript>
var
Obj;
function
MouseDown(obj)
{
Obj=obj;
Obj.setCapture();
Obj.l=event.x-Obj.style.pixelLeft;
Obj.t=event.y-Obj.style.pixelTop;
}
function
MouseMove()
{
if
(Obj!=
null
)
{
Obj.style.left = event.x-Obj.l;
Obj.style.top = event.y-Obj.t;
}
}
function
MouseUp()
{
if
(Obj!=
null
)
{
Obj.releaseCapture();
Obj=
null
;
}
}
</script>
2.
<div id=
"myDiv"
src=
"logo.gif"
ondrag=
"doDrag();"
onmouseover=
"this.style.cursor='hand'"
style=
"position:absolute;left=100;top=100;"
onmousedown=
"doMouseDown();"
>
<a href=
"#"
onclick=
"return false"
><h1>wlecome</h1></a>
</div>
<script language=
"JavaScript"
type=
"text/javascript"
>
var
orgMouseX;
var
orgMouseY;
var
orgObjX;
var
orgObjY;
function
doDrag()
{
var
myObject=document.all.myDiv;
var
x=event.clientX;
var
y=event.clientY;
myObject.style.left=x-(orgMouseX-orgObjX);
myObject.style.top=y-(orgMouseY-orgObjY);
}
function
doMouseDown()
{
orgMouseX=event.clientX;
orgMouseY=event.clientY;
orgObjX=parseInt(document.all.myDiv.style.left);
orgObjY=parseInt(document.all.myDiv.style.top);
}
</script>
//文档状态改变
<iframe src=
"a.html"
id=
"f"
name=
"f"
scrolling=
"no"
frameborder=0 marginwidth=0 marginheight=0></iframe>
<script>
var
doc=window.frames[
"f"
].document;
function
s(){
if
(doc.readyState==
"complete"
){
document.all.f.style.height=doc.body.scrollHeight
document.all.f.style.width=doc.body.scrollWidth
}
}
doc.onreadystatechange=s
</script>
//刷新后不变的文本框
<HTML>
<HEAD>
<META NAME=
"save"
CONTENT=
"history"
>
<STYLE>
.sHistory {behavior:url(
#default#savehistory);}
</STYLE>
</HEAD>
<BODY>
<INPUT
class
=sHistory type=text id=oPersistInput>
</BODY>
</HTML>
//访问剪贴板
(1)拖拽访问
event.dataTransfer.setData(
"URL"
, oImage.src);
sImageURL = event.dataTransfer.getData(
"URL"
)
(2)普通访问
window.clipboardData.setData(
"Text"
,oSource.innerText);
window.clipboardData.getData(
"Text"
);
//操作COOKIE
function
SetCookie(sName, sValue)
{
document.cookie = sName +
"="
+ escape(sValue) +
"; "
;
}
function
GetCookie(sName)
{
var
aCookie = document.cookie.split(
"; "
);
for
(
var
i=0; i < aCookie.length; i++)
{
var
aCrumb = aCookie[i].split(
"="
);
if
(sName == aCrumb[0])
return
unescape(aCrumb[1]);
}
}
function
DelCookie(sName)
{
document.cookie = sName +
"="
+ escape(sValue) +
"; expires=Fri, 31 Dec 1999 23:59:59 GMT;"
;
}
//setTimeout增加参数
<script>
var
_st = window.setTimeout;
window.setTimeout =
function
(fRef, mDelay) {
if
(
typeof
fRef ==
'function'
){
var
argu = Array.prototype.slice.call(arguments,2);
var
f = (
function
(){ fRef.apply(
null
, argu); });
return
_st(f, mDelay);
}
return
_st(fRef,mDelay);
}
function
test(x){
alert(x);
}
window.setTimeout(test,1000,
'fason'
);
</script>
//自定义的apply,call
Function.prototype.apply =
function
(obj, argu) {
if
(obj) obj.constructor.prototype._caller =
this
;
var
argus =
new
Array();
for
(
var
i=0;i<argu.length;i++)
argus[i] =
"argu["
+ i +
"]"
;
var
r;
eval(
"r = "
+ (obj ? (
"obj._caller("
+ argus.join(
","
) +
");"
) : (
"this("
+ argus.join(
","
) +
");"
)));
return
r;
};
Function.prototype.call =
function
(obj) {
var
argu =
new
Array();
for
(
var
i=1;i<arguments.length;i++)
argu[i-1] = arguments[i];
return
this
.apply(obj, argu);
};
//下载文件
function
DownURL(strRemoteURL,strLocalURL)
{
try
{
var
xmlHTTP=
new
ActiveXObject(
"Microsoft.XMLHTTP"
);
xmlHTTP.open(
"Get"
,strRemoteURL,
false
);
xmlHTTP.send();
var
adodbStream=
new
ActiveXObject(
"ADODB.Stream"
);
adodbStream.Type=1;
//1=adTypeBinary
adodbStream.Open();
adodbStream.write(xmlHTTP.responseBody);
adodbStream.SaveToFile(strLocalURL,2);
adodbStream.Close();
adodbStream=
null
;
xmlHTTP=
null
;
}
catch
(e)
{
window.confirm(
"下载URL出错!"
);
}
//window.confirm("下载完成.");
}
//检验连接是否有效
function
getXML(URL)
{
var
xmlhttp =
new
ActiveXObject(
"microsoft.xmlhttp"
);
xmlhttp.Open(
"GET"
,URL,
false
);
try
{
xmlhttp.Send();
}
catch
(e){}
finally
{
var
result = xmlhttp.responseText;
if
(result)
{
if
(xmlhttp.Status==200)
{
return
(
true
);
}
else
{
return
(
false
);
}
}
else
{
return
(
false
);
}
}
}
//POST代替FORM
<SCRIPT language=
"VBScript"
>
Function URLEncoding(vstrIn)
strReturn =
""
For i = 1 To Len(vstrIn)
ThisChr = Mid(vStrIn,i,1)
If Abs(Asc(ThisChr)) < &HFF Then
strReturn = strReturn & ThisChr
Else
innerCode = Asc(ThisChr)
If innerCode < 0 Then
innerCode = innerCode + &H10000
End If
Hight8 = (innerCode And &HFF00)\ &HFF
Low8 = innerCode And &HFF
strReturn = strReturn &
"%"
& Hex(Hight8) &
"%"
& Hex(Low8)
End If
Next
URLEncoding = strReturn
End Function
Function bytes2BSTR(vIn)
strReturn =
""
For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
bytes2BSTR = strReturn
End Function
dim strA,oReq
strA = URLEncoding(
"submit1=Submit&text1=中文"
)
set oReq = CreateObject(
"MSXML2.XMLHTTP"
)
oReq.open
"POST"
,
"http://ServerName/VDir/TstResult.asp"
,
false
oReq.setRequestHeader
"Content-Length"
,Len(strA)
oReq.setRequestHeader
"CONTENT-TYPE"
,
"application/x-www-form-urlencoded"
oReq.send strA
msgbox bytes2BSTR(oReq.responseBody)
</SCRIPT>
//readyState是xmlhttp返回数据的进度,0=载入中,1=未初始化,2=已载入,3=运行中,4=完成
//组件是否安装
isComponentInstalled(
"{6B053A4B-A7EC-4D3D-4567-B8FF8A1A5739}"
,
"componentID"
))
//检查网页是否存在
function
CheckURL(URL)
{
var
xmlhttp =
new
ActiveXObject(
"Microsoft.XMLHTTP"
);
xmlhttp.Open(
"GET"
,URL,
false
);
try
{
xmlhttp.Send();
var
result = xmlhttp.status;
}
catch
(e) {
return
(
false
); }
if
(result==200)
{
return
true
;
}
xmlhttp =
null
;
return
false
;
}
//连接数据库
<script language=
"javascript"
>
//用 JavaScript 写服务器端连接数据库的代码示例
var
conn =
new
ActiveXObject(
"ADODB.Connection"
);
conn.Open(
"Provider=SQLOLEDB.1; Data Source=localhost; User ID=sa; "
+
"Password=; Initial Catalog=pubs"
);
var
rs =
new
ActiveXObject(
"ADODB.Recordset"
);
var
sql=
"select * from authors"
;
rs.open(sql, conn);
shtml =
"<table width='100%' border=1>"
;
shtml +=
"<tr bgcolor='#f4f4f4'><td>au_id</td><td>au_lname</td><td>au_fname</td><td>phone</td><td>address</td><td> city</td><td>state</td><td>zip</td></tr>"
;
while
(!rs.EOF)
{
shtml +=
"<tr><td>"
+ rs(
"au_id"
) +
"</td><td>"
+ rs(
"au_lname"
) +
"</td><td>"
+ rs(
"au_fname"
) +
"</td><td>"
+ rs(
"phone"
) +
"</td><td>"
+ rs(
"address"
) +
"</td><td>"
+ rs(
"city"
) +
"</td><td>"
+ rs(
"state"
) +
"</td><td>"
+ rs(
"zip"
) +
"</td></tr>"
;
rs.moveNext;
}
shtml +=
"</table>"
;
document.write(shtml);
rs.close();
rs =
null
;
conn.close();
conn =
null
;
</script>
//使用数据岛
<html>
<body>
srno:<input type=text datasrc=
#xmldate DataFLD=srno size="76"><BR>
times:<input type=text datasrc=
#xmldate DataFLD=times size="76"><BR>
<input id=
"first"
TYPE=button value=
"<< 第一条记录"
onclick=
"xmldate.recordset.moveFirst()"
>
<input id=
"prev"
TYPE=button value=
"<上一条记录"
onclick=
"xmldate.recordset.movePrevious()"
>
<input id=
"next"
TYPE=button value=
"下一条记录>"
onclick=
"xmldate.recordset.moveNext()"
>
<input id=
"last"
TYPE=button value=
"最后一条记录>>"
onclick=
"xmldate.recordset.moveLast()"
>
<input id=
"Add"
TYPE=button value=
"添加新记录"
onclick=
"xmldate.recordset.addNew()"
>
<XML ID=
"xmldate"
>
<infolist>
<info ><srno>20041025-01</srno><times>
null
</times></info>
<info ><srno>20041101-09</srno><times>2004年10月1日2点22分0秒</times></info>
</infolist>
</XML>
</body>
</html>
//获得参数
<body>
<a href=
"javascript:location.href=location.href + '?a=1&b=2'"
>search</a>
<script language=
"JavaScript"
>
<!--
var
a = location.search.substr(1);
if
(a.length>0)
{
var
re = /([^&]*?)\=([^&]*)/g
var
s = a.match(re);
for
(
var
i= 0;i<s.length;i++)
{
alert(s[i]);
alert(s[i].split(
"="
)[1]);
}
}
//-->
</script>
</body>
//可编辑SELECT
<input type=text name=re_name style=
"width:100px;height:21px;font-size:10pt;"
><span style=
"width:18px;border:0px solid red;"
><select name=
"r00"
style=
"margin-left:-100px;width:118px; background-color:#FFEEEE;"
onChange=
"document.all.re_name.value=this.value;"
>
<option value=
"1"
>11111111<option>
<option value=
"2"
>222222</option>
<option value=
"3"
>333333</option>
</select>
</span>
javascript技巧大全套的更多相关文章
- 原生JavaScript技巧大收集
原生JavaScript技巧大收集 地址:http://itindex.net/detail/47244-javascript
- 原生JavaScript技巧大收集100个
原生JavaScript技巧大收集 1.原生JavaScript实现字符串长度截取function cutstr(str, len) { var temp; var icount = 0; var p ...
- 原生JavaScript技巧大收集(11~20)-(终于又被我找到这篇文章了)
11.原生JavaScript加入收藏夹 function AddFavorite(sURL, sTitle) { try { window.external.addFavorite(sURL, sT ...
- 原生JavaScript技巧大收集(1~10)
1.原生JavaScript实现字符串长度截取 01 function cutstr(str, len) { 02 var temp; 03 var icount = 0; 04 ...
- 12个非常有用的JavaScript技巧
在这篇文章中,我将分享12个非常有用的JavaScript技巧.这些技巧可以帮助你减少并优化代码. 1) 使用!!将变量转换成布尔类型 有时,我们需要检查一些变量是否存在,或者它是否具有有效值,从而将 ...
- Javascript技巧
Javascript数组转换为CSV格式 首先考虑如下的应用场景,有一个Javscript的字符型(或者数值型)数组,现在需要转换为以逗号分割的CSV格式文件.则我们可以使用如下的小技巧,代码如下: ...
- (译文)12个简单(但强大)的JavaScript技巧(二)
原文链接: 12 Simple (Yet Powerful) JavaScript Tips 其他链接: (译文)12个简单(但强大)的JavaScript技巧(一) 强大的立即调用函数表达式 (什么 ...
- (译文)12个简单(但强大)的JavaScript技巧(一)
原文连接: 12 Simple (Yet Powerful) JavaScript Tips 我将会介绍和解析12个简单但是强大的JavaScript技巧. 这些技巧所有的JavaScript程序员都 ...
- 21个值得收藏的Javascript技巧
1 Javascript数组转换为CSV格式 首先考虑如下的应用场景,有一个Javscript的字符型(或者数值型)数组,现在需要转换为以逗号分割的CSV格式文件.则我们可以使用如下的小技巧,代码如 ...
随机推荐
- Ajax+Spring MVC实现跨域请求(JSONP)JSONP 跨域
JSONP原理及实现 接下来,来实际模拟一个跨域请求的解决方案.后端为Spring MVC架构的,前端则通过Ajax进行跨域访问. 1.首先客户端需要注册一个callback(服务端通过该callba ...
- QQ 自动接收远程连接之关闭了远程桌面
之前使用都好好的,后来就不知道怎么了突然就不行了,在另外一个远程桌面软件(向日葵)失效后,木有办法,查查查,终于查出来了,是我本机的时间服务停止了,导致我本机的时间和服务器时间不一致,所以连接不上.只 ...
- u盘烧写后实际容量变小了
百度了一下 : http://jingyan.baidu.com/article/d45ad148f383ea69552b808a.html 百度下载 USBoot 打开软件 列表中选择你的U盘,点击 ...
- error: invalid 'asm': invalid operand for code 'w'
google 出结果 http://stackoverflow.com/questions/15623609/including-curl-into-the-android-aosp ........ ...
- TOMCAT-publishing to tomcat v7.0 server at
因为tomcat的work文件没有清空,导致MyEclipse部署在server.xml文件中的项目路径是错误的. 解决办法:清空work文件夹 下面这个勾勾是MyEclipse自动发布项目路径的选项
- awk 用法小结
简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再 ...
- Haproxy的安装和配置示例
1.ha proxy简介ha proxy是一个开源的,高性能的,基于tcp第四层和http第七层应用的负载均衡软件优点:可靠性和稳定性非常好 最高可以同时维护40000-50000个 ...
- win32使用ATL显示C#COM窗体
显示效果如图: 环境:win7 64.VS2013 代码如下: #include <atlbase.h> #include <atlhost.h> // 导入 #import ...
- div.2/C. They Are Everywhere<two pointer>
题意: 给出包含n (3<=n<=100000)个字符的字符串,计算出包含所有类型字符的最小区间长度. 题解: Two pointer.注意区间的处理. #include<cstdi ...
- jQuery 数据滚动(上下)
setInterval(function() { jq('.sjbg02 li:first').animate({ 'height': '0', 'opacity': '0' }, 'slow', f ...