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&#13sdfs&#32”
  • 获得时间所代表的微秒
    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'”>
  • 获取在父文档中生成 window 的 frame 或 iframe 对像
    window.frameElement
  • 获取当前对象的内置window对象,作用于frame或iframe
    document.all.object.contentWindow
  • 连接是否访问过
    event.srcElement.currentStyle.visited
  • 组件是否安装
    clientCaps.isComponentInstalled(“{6B053A4B-A7EC-4D3D-4567-B8FF8A1A5739}”, “componentID”))

//各种尺寸

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?/\d/.test(String.fromCharCode(event.keyCode))||(this.value.indexOf(‘.’)<0?event.keyCode==46:false)”?onpaste=“return?!clipboardData.getData(‘text’).match(/\D/)”?ondragenter=“return?false” style=”ime-mode:disabled>

 

//特殊用途

<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=完成

//检查网页是否存在

 

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>

 

//设置光标位置

 

function?getCaret(textbox)
{
var?control?=?document.activeElement;
textbox.focus();
var?rang?=?document.selection.createRange();
rang.setEndPoint(“StartToStart”,textbox.createTextRange())
control.focus();
return?rang.text.length;
}
function?setCaret(textbox,pos)
{
try
{
var?r?=textbox.createTextRange();
r.moveStart(‘character’,pos);
r.collapse(true);
r.select();
}
catch(e)
{}
}
function?selectLength(textbox,start,len)
{
try
{
var?r?=textbox.createTextRange();

r.moveEnd(‘character’,len-(textbox.value.length-start));
r.moveStart(‘character’,start);

r.select();
}
catch(e)
{//alert(e.description)}
}
function?insertAtCaret(textbox,text)
{
textbox.focus();
document.selection.createRange().text?=?text;
}

 

//页内查找

 

function?findInPage(str)
{
var?txt,?i,?found,n?=?0;
if?(str?==?“”)
{
return?false;
}
txt?=?document.body.createTextRange();
for?(i?=?0;?i?<=?n?&&?(found?=?txt.findText(str))?!=?false;?i++)
{
txt.moveStart(“character”,?1);
txt.moveEnd(“textedit”);
}
if?(found)
{
txt.moveStart(“character”,?-1);
txt.findText(str);
txt.select();
txt.scrollIntoView();
n++;
}
else
{
if?(n?>?0)
{
n?=?0;
findInPage(str);
}
else
{
alert(str?+?“…????????????您要找的文字不存在。\n?\n请试着输入页面中的关键字再次查找!”);
}
}
return?false;
}

//书

//操作EXECL

<script?language=“javascript”>
function?jStartExcel()?{
var?xls?=?new?ActiveXObject?(?“Excel.Application”?);
xls.visible?=?true;
var?newBook?=?xls.Workbooks.Add;
newBook.Worksheets.Add;
newBook.Worksheets(1).Activate;
xls.ActiveWorkBook.ActiveSheet.PageSetup.Orientation?=?2;
xls.ActiveWorkBook.ActiveSheet.PageSetup.PaperSize?=?5;
newBook.Worksheets(1).Columns(“A”).columnwidth=50;
newBook.Worksheets(1).Columns(“A”).WrapText?=?true;
newBook.Worksheets(1).Columns(“B”).columnwidth=50;
newBook.Worksheets(1).Columns(“B”).WrapText?=?true;
newBook.Worksheets(1).Range(“A1:B1000”).NumberFormat?=?“0”;
newBook.Worksheets(1).Range(“A1:B1000”).HorizontalAlignment?=?-4131;
newBook.Worksheets(1).Cells(1,1).Interior.ColorIndex=“15”;
newBook.Worksheets(1).Cells(1,1).value=“First?Column,?First?Cell”;
newBook.Worksheets(1).Cells(2,1).value=“First?Column,?Second?Cell”;
newBook.Worksheets(1).Cells(1,2).value=“Second?Column,?First?Cell”;
newBook.Worksheets(1).Cells(2,2).value=“Second?Column,?Second?Cell”;
newBook.Worksheets(1).Name=“My?First?WorkSheet”;
}
</script>

//自定义提示条

 

<a?href=“#”?title=“这是提示”>tip</a>
<script?Language=“JavaScript”>
//***********默认设置定义.*********************
tPopWait=50;//停留tWait豪秒后显示提示。
tPopShow=5000;//显示tShow豪秒后关闭提示
showPopStep=20;
popOpacity=99;
//***************内部变量定义*****************
sPop=null;
curShow=null;
tFadeOut=null;
tFadeIn=null;
tFadeWaiting=null;
document.write(“<style?type=’text/css’id=’defaultPopStyle’>”);
document.write(“.cPopText?{??background-color:?#F8F8F5;color:#000000;?border:?1px?#000000?solid;font-color:?font-size:?12px;?padding-right:?4px;?padding-left:?4px;?height:?20px;?padding-top:?2px;?padding-bottom:?2px;?filter:?Alpha(Opacity=0)}”);
document.write(“</style>”);
document.write(“<div?id=’dypopLayer’?style=’position:absolute;z-index:1000;’?class=’cPopText’></div>”);

function?showPopupText(){
var?o=event.srcElement;
MouseX=event.x;
MouseY=event.y;
if(o.alt!=null?&&?o.alt!=“”){o.dypop=o.alt;o.alt=“”};
if(o.title!=null?&&?o.title!=“”){o.dypop=o.title;o.title=“”};
if(o.dypop!=sPop)?{
sPop=o.dypop;
clearTimeout(curShow);
clearTimeout(tFadeOut);
clearTimeout(tFadeIn);
clearTimeout(tFadeWaiting);
if(sPop==null?||?sPop==“”)?{
dypopLayer.innerHTML=“”;
dypopLayer.style.filter=“Alpha()”;
dypopLayer.filters.Alpha.opacity=0;
}
else?{
if(o.dyclass!=null)?popStyle=o.dyclass
else?popStyle=“cPopText”;
curShow=setTimeout(“showIt()”,tPopWait);
}
}
}
function?showIt(){
dypopLayer.className=popStyle;
dypopLayer.innerHTML=sPop;
popWidth=dypopLayer.clientWidth;
popHeight=dypopLayer.clientHeight;
if(MouseX+12+popWidth>document.body.clientWidth)?popLeftAdjust=-popWidth-24
else?popLeftAdjust=0;
if(MouseY+12+popHeight>document.body.clientHeight)?popTopAdjust=-popHeight-24
else?popTopAdjust=0;
dypopLayer.style.left=MouseX+12+document.body.scrollLeft+popLeftAdjust;
dypopLayer.style.top=MouseY+12+document.body.scrollTop+popTopAdjust;
dypopLayer.style.filter=“Alpha(Opacity=0)”;
fadeOut();
}
function?fadeOut(){
if(dypopLayer.filters.Alpha.opacity<popOpacity)?{
dypopLayer.filters.Alpha.opacity+=showPopStep;
tFadeOut=setTimeout(“fadeOut()”,1);
}
else?{
dypopLayer.filters.Alpha.opacity=popOpacity;
tFadeWaiting=setTimeout(“fadeIn()”,tPopShow);
}
}
function?fadeIn(){
if(dypopLayer.filters.Alpha.opacity>0)?{
dypopLayer.filters.Alpha.opacity-=1;
tFadeIn=setTimeout(“fadeIn()”,1);
}
}
document.onmouseover=showPopupText;
</script>

//插入文字

document.onclick?=function(){
var?oSource?=?window.event.srcElement;
if(oSource.tagName!=“DIV”)
return?false;
var?sel?=?document.selection;
if?(sel!=null)?{
var?rng?=?sel.createRange();
if?(rng!=null)
rng.pasteHTML(“<font?color=red>插入文字</font>”);
}
}

//netscapte下操作xml

doc?=?new?ActiveXObject(“Msxml2.DOMDocument”);
doc?=?new?ActiveXObject(“Microsoft.XMLDOM”)
->>
doc?=?(new?DOMParser()).parseFromString(sXML,’text/xml’)

 

//判断键值

<html>
<meta?http-equiv=“Content-Type”?content=“text/html;?charset=gb2312”>
<head>
<script?language=“javascript”>
var?ie??=navigator.appName==“Microsoft?Internet?Explorer”?true:false;

function?keyDown(e)
{
if(!ie)
{
var?nkey=e.which;
var?iekey=’现在是ns浏览器’;
var?realkey=String.fromCharCode(e.which);
}
if(ie)
{
var?iekey=event.keyCode;
var?nkey=’现在是ie浏览器’;
var?realkey=String.fromCharCode(event.keyCode);
if(event.keyCode==32){realkey=’\’?空格\”}
if(event.keyCode==13){realkey=’\’?回车\”}
if(event.keyCode==27){realkey=’\’?Esc\”}
if(event.keyCode==16){realkey=’\’?Shift\”}
if(event.keyCode==17){realkey=’\’?Ctrl\”}
if(event.keyCode==18){realkey=’\’?Alt\”}
}
alert(‘ns浏览器中键值:’+nkey+’\n’+’ie浏览器中键值:’+iekey+’\n’+’实际键为’+realkey);
}
document.onkeydown?=?keyDown;
</script>
</head>
<body>
//Javascript?Document.
<hr>
<center>
<h3>请按任意一个键。。。。</h3>
</center>
</body>
</html>

 

//禁止FSO

1.注销组件
regsvr32?/u?scrrun.dll
2.修改PROGID
HKEY_CLASSES_ROOT\Scripting.FileSystemObject
Scripting.FileSystemObject
3.对于使用object的用户,修改HKEY_CLASSES_ROOT\Scripting.

//省略号

<DIV?STYLE=“width:?120px;?height:?50px;?border:?1px?solid?blue;
overflow:?hidden;?text-overflow:ellipsis”
>
<NOBR>就是比如有一行文字,很长,表格内一行显示不下.</NOBR>
</DIV>

 

//检测media play版本

<IE:clientCaps?ID=“oClientCaps”?style=“{behavior:url(#default#clientcaps)}”?/>
<SCRIPT>
var?flash=“”;
WMPVersion=?oClientCaps.getComponentVersion(“{22D6F312-B0F6-11D0-94AB-0080C74C7E95}”,“ComponentID”);
if?(WMPVersion?!=?“”)?{
flash?=?“”;
var?version?=?WMPVersion.split(“,”);
var?i;
for?(i?=?0;?i?<?version.length;?i++)?{
if?(i?!=?0)
flash?+=?“.”;
flash?+=?version[i];
}
document.write(“您的Windows?Media?Player?版本是:”+flash+“<p>”);
}
</SCRIPT>

 

//图象按比例

<script?language=“JavaScript”>
<!–
//图片按比例缩放
var?flag=false;
function?DrawImage(ImgD){
var?image=new?Image();
var?iwidth?=?80;??//定义允许图片宽度
var?iheight?=?80;??//定义允许图片高度
image.src=ImgD.src;
if(image.width>0?&&?image.height>0){
flag=true;
if(image.width/image.height>=?iwidth/iheight){
if(image.width>iwidth){
ImgD.width=iwidth;
ImgD.height=(image.height*iwidth)/image.width;
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}
ImgD.alt=image.width+“×”+image.height;
}
else{
if(image.height>iheight){
ImgD.height=iheight;
ImgD.width=(image.width*iheight)/image.height;
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}
ImgD.alt=image.width+“×”+image.height;
}
}
}
//–>
</script>
<img?src=“..”?onload?=?“DrawImage(this)”>

 

//细线SELECT

<span?style=“border:1px?solid?#000000;?position:absolute;?overflow:hidden;”?>
<select?style=“margin:-2px;”>
<option>1111</option>
<option>11111111111111</option>
<option>111111111</option>
</select></span>

//Import

function?Import()?{
for(?var?i=0;?i<arguments.length;?i++?)?{
var?file?=?arguments[i];
if?(?file.match(/\.js$/i))
document.write(‘<script?type=\”text/javascript\“?src=\”‘?+?file?+?’\”></sc’?+?’ript>’);
else
document.write(‘<style?type=\”text/css\”
>@import?\”‘?+?file?+?’\”?;</style>’);
}
};

//js枚举

 

function?getComputerName()
{
var?objWMIService?=?GetObject(“Winmgmts:root\cimv2”);
for(e?=?new?Enumerator(objWMIService)?;?!e.atEnd()?;?e.moveNext())
{
var?getComputer?=?e.item();
return?getComputer.Name;
}
}

//条件编译

<script?language=javascript>
/*@cc_on?@*/
/*@if?(@_win32?&&?@_jscript_version>5)
function?window.confirm(str)
{
execScript(“n?=?msgbox(‘”+?str?+”‘,?257)”,?”vbscript”);
return(n?==?1);
}
@end?@*/

</script>

//取得innerText

 

<SCRIPT?LANGUAGE=“JavaScript”>
<!–
var?xmlDoc?=?new?ActiveXObject(“Msxml2.DOMDocument.4.0”);
var?currNode;
xmlDoc.async?=?false;
xmlDoc.async?=?false;
xmlDoc.loadXML(“<TABLENAME>??????你好你阿三????大法?????司法等四??????????????</TABLENAME>”);
currNode?=?xmlDoc.documentElement;

var?s?=?currNode.xml;
var?r?=?/\<([^\>\s]*?)[^\>]*?\>([^\<]*?)\<\/\1\>/
var?b?=?s.replace(r,“$2”);
alert(b);
//–>
</SCRIPT>

//mergeAttributes 复制所有读/写标签属性到指定元素。

<SCRIPT>
function?fnMerge(){
oSource.children[1].mergeAttributes(oSource.children[0]);
}
</SCRIPT>
<SPAN?ID=oSource>
<DIV
ID=“oDiv”
ATTRIBUTE1=“true”
ATTRIBUTE2=“true”
onclick=“alert(‘click’);”
onmouseover=“this.style.color=’#0000FF’;”
onmouseout=“this.style.color=’#000000′;”
>
This?is?a?sample?<B>DIV</B>?element.
</DIV>
<DIV?ID=“oDiv2”>
This?is?another?sample?<B>DIV</B>?element.
</DIV>
</SPAN>
<INPUT
TYPE=“button”
VALUE=“Merge?Attributes”
onclick=“fnMerge()”
>

将选中内容保存为html

<HTML>
<HEAD>
<TITLE>?New?Document?</TITLE>
<META?NAME=“Generator”?CONTENT=“EditPlus”>
<META?NAME=“Author”?CONTENT=“”>
<META?NAME=“Keywords”?CONTENT=“”>
<META?NAME=“Description”?CONTENT=“”>
</HEAD>
<SCRIPT?LANGUAGE=“JavaScript”>
<!–
function?save()
{
var?f;
f?=?document.getElementById(“xx”);
if(f==null)
{
document.appendChild(document.createElement(“<iframe?id=xx?name=xx?width=0?height=0></iframe>”));
f?=?document.getElementById(“xx”);
}
var?fa?=?window.frames[“xx”];

fa.document.write(document.selection.createRange().htmlText);
fa.document.close();
fa.document.execCommand(“saveas”,true,“a.htm”);
}
//–>
</SCRIPT>
<BODY>
<UL>
<LI><FONT?size=2><STRIKE>显示版块帖子</STRIKE>?</FONT>
<LI><FONT?size=2>版块帖子分页?</FONT>
<LI><FONT?size=2><STRIKE>显示单个帖子</STRIKE>?</FONT>
<LI><FONT?size=2><STRIKE>发送新帖</STRIKE></FONT>
<LI><FONT?size=2><STRIKE>帖子回复</STRIKE>?</FONT>
<LI><FONT?size=2><STRIKE>个人登陆</STRIKE>?</FONT>
<LI><FONT?size=2>留言的回复功能</FONT></LI></UL>
<input?type=button?onclick=“save()”?value=“aa”>
</BODY>
</HTML>

判断是刷新还是离开

<HTML>
<HEAD>
<TITLE>判断是刷新还是关闭-www.51windows.Net</TITLE>
<meta?http-equiv=“Content-Type”?content=“text/html;?charset=gb2312”>
<META?NAME=“Author”?CONTENT=“51windows,海娃,haiwa”>
<META?NAME=“Description”?CONTENT=“Power?by?51windows.Net”>
</HEAD>
<script>
function?CloseOpen()?{
if(event.clientX<=0?&&?event.clientY<0)?{
alert(“关闭”);
}
else
{
alert(“刷新或离开”);
}
}
</script>
<body?onunload=“CloseOpen()”>
</BODY>
</HTML>

获得光标位置

<textarea?rows=10?cols=100?onclick=“getCursorPosition()”?onkeyup=“getCursorPosition()”>
北京时间10月6日,世界三大通讯社之一的法新社刊发图文报道,中国国脚孙继海因为在最近的世界杯预选赛中的表现,已经吸引了意大利俱乐部AC米兰和都灵队的争购。中国队只需在10月7日同阿曼队的比赛中战平就将首次进入世界杯决赛圈。图为孙继海(右)1998年12月19日在亚洲杯上的资料图片。</textarea>
<script?language=JScript>
function?getCursorPosition(){
var?src?=?event.srcElement
var?oTR?=?src.createTextRange()
var?oSel?=?document.selection.createRange()
var?textLength?=?src.innerText.length
var?line,?char,?total,?cl
oTR.moveToPoint(oSel.offsetLeft,?oSel.offsetTop)
oTR.moveStart(“character”,?-1*textLength)
cl?=?oTR.getClientRects()
line?=?cl.length
total?=?oTR.text.length
oTR.moveToPoint(cl[cl.length-1].left,?cl[cl.length-1].top)
oTR.moveStart(“character”,?-1*textLength)
char?=?total?-?oTR.text.length
if?(oSel.offsetTop?!=?cl[cl.length-1].top)?{line++;?char?=?0}
else?if?(src.createTextRange().text.substr(oTR.text.length,?2)?==?“\r\n”)?char?-=?2
window.status?=?“行:?”?+?line?+“,?列:?”?+?char?+?“,?第?”?+?total?+?“?个字符”
}
</SCRIPT>

TextRange的常用方法

collapse([bStart])
收起选区,并移动Range的插入点
bStart?true(移到开头,default)?false(移到末尾)

expand(sUnit)
展开选区,让单位所包括的选区被包含进来

findText(sText?[,?iSearchScope]?[,?iFlags])
在Range中查找sText
iSearchScope?开始位置,负数方向搜索
iFlags?1(向后搜索) 2(整词匹配)?4(区别大小写)

moveStart(sUnit?[,?iCount])
moveEnd(sUnit?[,?iCount])
移动Range的开头或结尾
sUnit?character(字)?word(词)?sentence(句)?textedit(Range)
iCount?移动数量,默认为1

moveToPoint(iX,?iY)
移动光标到坐标(iX,iY)

pasteHTML(sHTMLText)
替换Range中的html

scrollIntoView([bAlignToTop])
滚动使之在当前窗口显示
bAlignToTop?true(Range在窗口开头)?false(Range在窗口底部)

select()
让选区选中状态

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部