在js中怎么定义js var 作用域year<0000使其有效

在Swift中使用JavaScript的方法和技巧
发表于 11:20|
来源NSHipster|
作者Nate Cook
摘要:Nate Cook是一位独立的Web及移动应用开发者,是继Mattt大神后NSHipster的主要维护者,也是SwiftDoc.org创造者。在本文中,他介绍了在Swift中使用JavaScript的方法和技巧,对于iOS和Web工程师有着非常实用的价值。
JSExport协议借助JSExport协议也可以在JavaScript上使用自定义对象。在JSExport协议中声明的实例方法、类方法,不论属性,都能自动与JavaScrip交互。文章稍后将介绍具体的实践过程。JavaScriptCore实践我们可以通过一些例子更好地了解上述技巧的使用方法。先定义一个遵循JSExport子协议PersonJSExport的Person model,再用JavaScript在JSON中创建和填入实例。有整个JVM,还要NSJSONSerialization干什么?PersonJSExports和PersonPerson类执行的PersonJSExports协议具体规定了可用的JavaScript属性。,在创建时,类方法必不可少,因为JavaScriptCore并不适用于初始化转换,我们不能像对待原生的JavaScript类型那样使用var person = new Person()。//Objective-C
// in Person.h -----------------
@protocol PersonJSExports &JSExport&
@property (nonatomic, copy) NSString *firstN
@property (nonatomic, copy) NSString *lastN
@property NSInteger ageT
- (NSString *)getFullN
// create and return a new Person instance with `firstName` and `lastName`
+ (instancetype)createWithFirstName:(NSString *)firstName lastName:(NSString *)lastN
@interface Person : NSObject &PersonJSExports&
@property (nonatomic, copy) NSString *firstN
@property (nonatomic, copy) NSString *lastN
@property NSInteger ageT
// in Person.m -----------------
@implementation Person
- (NSString *)getFullName {
return [NSString stringWithFormat:@"%@ %@", self.firstName, self.lastName];
+ (instancetype) createWithFirstName:(NSString *)firstName lastName:(NSString *)lastName {
Person *person = [[Person alloc] init];
person.firstName = firstN
person.lastName = lastN
@end//Swift
// Custom protocol must be declared with `@objc`
@objc protocol PersonJSExports : JSExport {
var firstName: String { get set }
var lastName: String { get set }
var birthYear: NSNumber? { get set }
func getFullName() -& String
/// create and return a new Person instance with `firstName` and `lastName`
class func createWithFirstName(firstName: String, lastName: String) -& Person
// Custom class must inherit from `NSObject`
@objc class Person : NSObject, PersonJSExports {
// properties must be declared as `dynamic`
dynamic var firstName: String
dynamic var lastName: String
dynamic var birthYear: NSNumber?
init(firstName: String, lastName: String) {
self.firstName = firstName
self.lastName = lastName
class func createWithFirstName(firstName: String, lastName: String) -& Person {
return Person(firstName: firstName, lastName: lastName)
func getFullName() -& String {
return "\(firstName) \(lastName)"
}配置JSContext创建Person类之后,需要先将其导出到JavaScript环境中去,同时还需导入,以便对Person对象应用模板。//Objective-C
// export Person class
context[@"Person"] = [Person class];
// load Mustache.js
NSString *mustacheJSString = [NSString stringWithContentsOfFile:... encoding:NSUTF8StringEncoding error:nil];
[context evaluateScript:mustacheJSString];//Swift
// export Person class
context.setObject(Person.self, forKeyedSubscript: "Person")
// load Mustache.js
if let mustacheJSString = String(contentsOfFile:..., encoding:NSUTF8StringEncoding, error:nil) {
context.evaluateScript(mustacheJSString)
}JavaScript数据&处理以下简单列出一个JSON范例,以及用JSON来创建新Person实例。注意:JavaScriptCore实现了Objective-C/Swift的方法名和JavaScript代码交互。因为JavaScript没有命名好的参数,任何额外的参数名称都采取驼峰命名法(Camel-Case),并附加到函数名称上。在此示例中,Objective-C的方法createWithFirstName:lastName:在JavaScript中则变成了createWithFirstNameLastName()。//JSON
{ "first": "Grace",
"last": "Hopper",
"year": 1906 },
{ "first": "Ada",
"last": "Lovelace", "year": 1815 },
{ "first": "Margaret",
"last": "Hamilton", "year": 1936 }
]//JavaScript
var loadPeopleFromJSON = function(jsonString) {
var data = JSON.parse(jsonString);
var people = [];
for (i = 0; i & data. i++) {
var person = Person.createWithFirstNameLastName(data[i].first, data[i].last);
person.birthYear = data[i].
people.push(person);
}动手一试现在你只需加载JSON数据,并在JSContext中调用,将其解析到Person对象数组中,再用Mustache模板渲染即可://Objective-C
// get JSON string
NSString *peopleJSON = [NSString stringWithContentsOfFile:... encoding:NSUTF8StringEncoding error:nil];
// get load function
JSValue *load = context[@"loadPeopleFromJSON"];
// call with JSON and convert to an NSArray
JSValue *loadResult = [load callWithArguments:@[peopleJSON]];
NSArray *people = [loadResult toArray];
// get rendering function and create template
JSValue *mustacheRender = context[@"Mustache"][@"render"];
NSString *template = @"{{getFullName}}, born {{birthYear}}";
// loop through people and render Person object as string
for (Person *person in people) {
NSLog(@"%@", [mustacheRender callWithArguments:@[template, person]]);
// Output:
// Grace Hopper, born 1906
// Ada Lovelace, born 1815
// Margaret Hamilton, born 1936//Swift
// get JSON string
if let peopleJSON = NSString(contentsOfFile:..., encoding: NSUTF8StringEncoding, error: nil) {
// get load function
let load = context.objectForKeyedSubscript("loadPeopleFromJSON")
// call with JSON and convert to an array of `Person`
if let people = load.callWithArguments([peopleJSON]).toArray() as? [Person] {
// get rendering function and create template
let mustacheRender = context.objectForKeyedSubscript("Mustache").objectForKeyedSubscript("render")
let template = "{{getFullName}}, born {{birthYear}}"
// loop through people and render Person object as string
for person in people {
println(mustacheRender.callWithArguments([template, person]))
// Output:
// Grace Hopper, born 1906
// Ada Lovelace, born 1815
// Margaret Hamilton, born 1936(编译/张新慧 责编/唐小引)
文章来源:
点击链接进入,了解更多Swift开发的技术热点内容!本文为CSDN编译整理,未经允许不得转载,如需转载请联系market#csdn.net(#换成@)CSDN JOB移动工程师专场招聘,直击20家企业高薪职位--&
推荐阅读相关主题:
CSDN官方微信
扫描二维码,向CSDN吐槽
微信号:CSDNnews
相关热门文章(一).确认删除用法:& 1. BtnDel.Attributes.Add("onclick","return confirm('"+"确认删除?"+"')");& 2. linktempDelete.Attributes["onclick"]="javascript:return& confirm('"+"确认删除?"+"');";& 3. private void grdProject_ItemDataBound(object sender, DataGridItemEventArgs e)& 4.& {&if ((e.Item.ItemType == ListItemType.Item) | (e.Item.ItemType == ListItemType.AlternatingItem))&{&&// 刪除按鈕上的提示部分&&e.Item.Cells[10].Attributes.Add("onclick", "return confirm('确定删除吗?');");&}&&& }& 5.&&& &script language="JavaScript" type="text/JavaScript"&&function delete_y(e)&&&&&&& {&&& if(event.srcElement.outerText == "删除")&&&&&&& event.returnValue=confirm("确定删除?");&}&document.onclick=delete_y;&&& &/script&
(二).跨语言字符串替换&&&
System.Text.RegularExpressions.Regex.Replace(str1,@"&{1}[^&&]*&{1}","").Replace("&","").Replace("\","\\").Replace("-","-").Replace("&","&").Replace("&","&").Replace("&","&").Replace("br","\n");
(三).关闭窗体&& 1.&&&&& this.btnClose.Attributes.Add("onclick",& "window.close();");&& 2.关闭本窗体间跳转到另一个页面&&&&& this.HyperLink1.NavigateUrl = "javascript:onclick=window.opener.location.assign&&&&&&&& ('" + "index.aspx"+ "?&Func=Edit&AutoID=" + intAutoid + ');window.close();"; && 3.关闭父窗体:&&&&& &INPUT type="reset" value='&%=this._Cancel%&' onclick="window.parent.close()"& class="Button"&
&& 4.关闭本弹出窗体,并刷新父页面
&&&&&& this.Response.Write("&script language='javascript'&window.opener.location.reload();window.close();&/script&");
(四).Web MessageBox&& && 1.&&&&& Response.Write("&script language=javascript& window.alert('保存成功1');&/script&");&& 2.&&&&& Response.Write("&script&alert('"+"保存成功!"+"');&/script&");&& 3.&&&&& this.Page.RegisterStartupScript("ChiName","&script language='javascript'&alert('" + "保存成功!" + "')&/script&");
(五).DataGrid中加CheckBox控件模板列.&& 请看:&
(六). window.open() 方法 &语法:window.open(pageurl,name,parameters);&window对象的open()方法用于创建一个新的窗口实例,新创建的窗口的外观由参数:parameters指定。新窗口中打开的文档由参数:&&&&&&&& pageurl指定。系统能够根据参数:name确定的名称访问该窗口。
&&&&&&& 下表为parameters参数表:&&&&&&& 参数&&&&&&&&& 衩始值&&&&&&&&&& 说明 &&&&&&& alwaysLowered yes/no 指定窗口隐藏在所有窗口之下。 &&&&&&& alwaysRaised yes/no 指定窗口浮在所有窗口之上。 &&&&&&& dependent yes/no 指定打开的窗口为父窗口的一个了窗口。并随父窗口的关闭而关闭。 &&&&&&& directions yes/no 指定Navigator 2和3的目录栏是否在新窗口中可见。 &&&&&&& height pixel value 设定新窗口的像素高度。 &&&&&&& hotkeys yes/no 在没有菜单栏的新窗口设置安全退出热键。 &&&&&&& innerHeight pixel value 设置新窗口中文档的像素高度。 &&&&&&& innerWidth pixel value 设置新窗口中文档的像素宽度。 &&&&&&& location yes/ no 指明位置栏在新窗口中是否可见。 &&&&&&& menubar yes /no 指明菜单栏在新窗口中是否可见。 &&&&&&& outerHeight pixel value 设定窗口(包括装饰边框)的像素高度。 &&&&&&& outerWidth pixel value 设定窗口(包括装饰边框)的像素宽度。 &&&&&&& resizable yes /no 指明新窗口是否可以调整。 &&&&&&& screenX pixel value 设定新窗口离屏幕边界的像素长度。 &&&&&&& screenY pixel value 设定新窗口离屏幕上边界的像素长度。 &&&&&&& scrollbars yes /no 指明滚动栏在新窗口中是否可见。 &&&&&&& titlebar yes /no 指明菜单题目栏在新窗口是否可见。 &&&&&&& toolbar yes /no 指明工具栏在新窗口中是否可见。 &&&&&&& Width pixel value 设定窗口的像素宽度。 &&&&&&& z-look yes /no 在文档中包含各个&pplet&标签的数组。 &&&&&&& fullscreen yes / no 打开的窗体是否进行全屏显示 &&&&&&& left pixel value 设定新窗口距屏幕左方的距离 &&&&&&& top pixel value 设定新窗口距屏幕上方的距离 & &&&&&& 例子:&&&&&&& &html&&&&&&&&&&& &head&&&&&&&&&&&&&&& &title&window.open函数&/title&&&&&&&&&&& &/head& &&&&&&&&&& &body&&&&&&&&&&&&&& &script language="javascript"&&&&&&&&&&&&&&&&&&& &!--&&&&&&&&&&&&&&&& window.open("","name1","width=100,height=200,toolbar=no,scrollbars=no,menubar=no,screenX=100,screenY=100");&&&&&&&&&&&&&&&&&&& //--&&&&&&&&&&&&&& &/script& &&&&&&&&&& &/body&&&&&&&& &/html&
(七).location对象&&&& &&& href 整个URL字符串. &&& protocol 含有URL第一部分的字符串,如http: &&& host 包含有URL中主机名:端口号部分的字符串.如//www.cenpok.net/server/ &&& hostname 包含URL中主机名的字符串.如 &&& port 包含URL中可能存在的端口号字符串. &&& pathname URL中"/"以后的部分.如~list/index.htm &&& hash "#"号(CGI参数)之后的字符串. &&& search "?"号(CGI参数)之后的字符串.
(八).按键捕捉&& 1.Ctrl+Enter按键捕捉方法&&& &body onkeydown="doKeyDown()"&&&& &script language="JavaScript"&&&& &!--&&& function doKeyDown() &&&& {&&&&&&& if (event.ctrlKey && event.keyCode == 13) &&&&&&&& {&&&&&&&&&& alert("You pressed the Ctrl + Enter")&&&&&&&& }&&&& }&&& //--&&&& &/script&&&& &/body&&& 2.Alt加快捷键: Alt+A&&&& &button accessKey=A title="Alt+A" onclick="alert('Button clicked!')"&Alt+A&/button&(九).控制输入,非法字符不能输入到TextBox.&&& &asp:textbox class="Text" &&&&&&& onkeypress="if (event.keyCode & 48 || event.keyCode &57) event.returnValue ="&id="txtY_Revenue" style="TEXT-ALIGN: right" runat="server" Width="90%" MaxLength="12"&&&& &/asp:textbox&&&& 说明: 此方法控制TextBox只收数字:0~9 , 也自可以定义其它可输入字符,如改成: 65~123,只允许输入: a~z和A~Z 等.
[以下为收藏]
1&屏蔽功能类
1.1&屏蔽键盘所有键&script&language="javascript"&&!--function&document.onkeydown(){&&&event.keyCode&=&0;&&&event.returnvalue&=&}--&&/script&
1.2&屏蔽鼠标右键
在body标签里加上oncontextmenu=self.event.returnvalue=false
&script&language="javascript"&&!--function&document.oncontextmenu()&{&&&return&&}&--&&/script&
function&nocontextmenu(){&&&&&if(document.all)&{&&&&&&&&event.cancelBubble=&&&&&&&&event.returnvalue=&&&&&&&&&return&&&&&&}}
&body&onmousedown="rclick()"&oncontextmenu=&"nocontextmenu()"&
&script&language="javascript"&&!--function&rclick(){&&&&if(document.all)&{&&&&&&&&if&(event.button&==&2){&&&&&&&&&&&&event.returnvalue=&&&&&&&&}&&&&}}--&&/script&
1.3&屏蔽&Ctrl+N、Shift+F10、F5刷新、退格键
&script&language="javascript"&&!--&&//屏蔽鼠标右键、Ctrl+N、Shift+F10、F5刷新、退格键function&window.onhelp(){return&false}&//屏蔽F1帮助function&KeyDown(){&&if&((window.event.altKey)&&&&&&&&((window.event.keyCode==37)||&&&//屏蔽&Alt+&方向键&&&&&&&&&(window.event.keyCode==39))){&&//屏蔽&Alt+&方向键&&&&&&&alert("不准你使用ALT+方向键前进或后退网页!");&&&&&event.returnvalue=&&&&&}
&&&&&/*&注:这还不是真正地屏蔽&Alt+&方向键,&&&&&因为&Alt+&方向键弹出警告框时,按住&Alt&键不放,&&&&&用鼠标点掉警告框,这种屏蔽方法就失效了。以后若&&&&&有哪位高手有真正屏蔽&Alt&键的方法,请告知。*/
&&if&((event.keyCode&==&8)&&&&&&&&&&(event.srcElement.type&!=&"text"&&&&&&&&&&event.srcElement.type&!=&"textarea"&&&&&&&&&&event.srcElement.type&!=&"password")&||&&&&&&&&&&&//屏蔽退格删除键&&&&&&&&&(event.keyCode==116)||&&&&&&&&&&&&&&&&&&&&&&&&&&&&//屏蔽&F5&刷新键&&&&&&(event.ctrlKey&&&&event.keyCode==82)){&&&&&&&&&&&&//Ctrl&+&R&&&&&event.keyCode=0;&&&&&event.returnvalue=&&&&&}&&if&((event.ctrlKey)&&(event.keyCode==78))&&&//屏蔽&Ctrl+n&&&&&event.returnvalue=&&if&((event.shiftKey)&&(event.keyCode==121))&//屏蔽&shift+F10&&&&&event.returnvalue=&&if&(window.event.srcElement.tagName&==&"A"&&&&window.event.shiftKey)&&&&&&&window.event.returnvalue&=&&&//屏蔽&shift&加鼠标左键新开一网页&&if&((window.event.altKey)&&(window.event.keyCode==115)){&//屏蔽Alt+F4&&&&&&window.showModelessDialog("about:blank","","dialogWidth:1dialogheight:1px");&&&&&&return&}&&}&/*&另外可以用&window.open&的方法屏蔽&IE&的所有菜单第一种方法:&&window.open("
的.htm",&"","toolbar=no,location=no,directories=no,menubar=no,scrollbars=no,resizable=yes,status=no,top=0,left=0")第二种方法是打开一个全屏的页面:&&window.open("你的.asp",&"",&"fullscreen=yes")&*///--&&/script&
1.4屏蔽浏览器右上角&最小化&&最大化&&关闭&键
&script&language=javascript&function&window.onbeforeunload(){&&if(event.clientX&document.body.clientWidth&&event.clientY&0||event.altKey)&&{&&&&window.event.returnvalue&=&"";&&}}&/script&
或者使用全屏打开页面
&script&language="javascript"&&!--window.open(,"32pic","fullscreen=3,height=100,&width=400,&top=0,&left=0,&toolbar=no,&menubar=no,&scrollbars=no,&resizable=no,location=no,&status=no");--&&/script&
注:在body标签里加上onbeforeunload="javascript:return&false"(使不能关闭窗口)
1.5屏蔽F5键
&script&language="javascript"&&!--function&document.onkeydown()&{&&&&&if&(&event.keyCode==116)&&&&&{&&&&&&&&&event.keyCode&=&0;&&&&&&&&&event.cancelBubble&=&&&&&&&&&&return&&&&&&}}--&&/script&
1.6屏蔽IE后退按钮
在你链接的时候用&&a&href="javascript:location.replace(url)"&
1.7屏蔽主窗口滚动条
在body标签里加上&style="overflow-y:hidden"
1.8&屏蔽拷屏,不断地清空剪贴板
在body标签里加上onload="setInterval('clipboardData.setData(\'Text\',\'\')',100)"
1.9&屏蔽网站的打印功能
&style&@media&print&{&&&*&{&display:&none&}}&/style&
1.10&屏蔽IE6.0&图片上自动出现的保存图标
方法一:&META&HTTP-EQUIV="imagetoolbar"&CONTENT="no"&方法二:&img&galleryimg="no"&
1.11&屏蔽页中所有的script
&noscrript&&/noscript&&
&2&表单提交验证类
2.1&表单项不能为空
&script&language="javascript"&&!--function&CheckForm(){if&(document.form.name.value.length&==&0)&{&&&alert("请输入您姓名!");&&&document.form.name.focus();&&&return&}&&&return&}--&&/script&
2.2&比较两个表单项的值是否相同
&script&language="javascript"&&!--function&CheckForm()if&(document.form.PWD.value&!=&document.form.PWD_Again.value)&{&&&alert("您两次输入的密码不一样!请重新输入.");&&&document.ADDUser.PWD.focus();&&&return&}&&&return&}--&&/script&
2.3&表单项只能为数字和"_",用于电话/银行帐号验证上,可扩展到域名注册等
&script&language="javascript"&&!--function&isNumber(String){&&&&&var&Letters&=&"-";&//可以自己增加可输入值&&&&var&i;&&&&var&c;&&&&&&if(String.charAt(&0&)=='-')&return&&&&&&&if(&String.charAt(&String.length&-&1&)&==&'-'&)&&&&&&&&&&return&&&&&&for(&i&=&0;&i&&&String.&i&++&)&&&&&{&&&&&&&&&&c&=&String.charAt(&i&);&&&if&(Letters.indexOf(&c&)&&&0)&&&&&&&&&&return&}&&&&&return&}function&CheckForm(){&&&&if(!&isNumber(document.form.TEL.value))&{&&alert("您的电话号码不合法!");&&&&&&&&&document.form.TEL.focus();&&&&&&&&&return&}return&}--&&/script&
2.4&表单项输入数值/长度限定
&script&language="javascript"&&!--function&CheckForm()&{&&&&if&(document.form.count.value&&&100&||&document.form.count.value&&&1){&alert("输入数值不能小于零大于100!");&document.form.count.focus();&return&}&&&&if&(document.form.MESSAGE.value.length&10){&alert("输入文字小于10!");&document.form.MESSAGE.focus();&return&}return&}//--&&/script&
2.5&中文/英文/数字/邮件地址合法性判断
&SCRIPT&LANGUAGE="javascript"&&!--
function&isEnglish(name)&//英文值检测{&if(name.length&==&0)&&return&&for(i&=&0;&i&&&name.&i++)&{&&if(name.charCodeAt(i)&&&128)&&&return&&}&return&}
function&isChinese(name)&//中文值检测{&if(name.length&==&0)&&return&&for(i&=&0;&i&&&name.&i++)&{&&if(name.charCodeAt(i)&&&128)&&&return&&}&return&}
function&isMail(name)&//&E-mail值检测{&if(!&isEnglish(name))&&return&&i&=&name.indexOf("@");&j&=&name.lastIndexOf("@");&if(i&==&-1)&&return&&if(i&!=&j)&&return&&if(i&==&name.length)&&return&&return&}
function&isNumber(name)&//数值检测{&if(name.length&==&0)&&return&&for(i&=&0;&i&&&name.&i++)&{&&if(name.charAt(i)&&&"0"&||&name.charAt(i)&&&"9")&&&return&&}&return&}
function&CheckForm(){&if(!&isMail(form.Email.value))&{&&alert("您的电子邮件不合法!");&&form.Email.focus();&&return&&}&if(!&isEnglish(form.name.value))&{&&alert("英文名不合法!");&&form.name.focus();&&return&&}&if(!&isChinese(form.cnname.value))&{&&alert("中文名不合法!");&&form.cnname.focus();&&return&&}&if(!&isNumber(form.PublicZipCode.value))&{&&alert("邮政编码不合法!");&&form.PublicZipCode.focus();&&return&&}&return&}//--&&/SCRIPT&
2.6&限定表单项不能输入的字符
&script&language="javascript"&&!--
function&contain(str,charset)//&字符串包含测试函数{&&var&i;&&for(i=0;i&charset.i++)&&if(str.indexOf(charset.charAt(i))&=0)&&return&&&return&}
function&CheckForm(){&if&((contain(document.form.NAME.value,&"%\(\)&&"))&||&(contain(document.form.MESSAGE.value,&"%\(\)&&"))){&&alert("输入了非法字符");&&document.form.NAME.focus();&&return&}&&return&}//--&&/script&
&40种网站设计常用技巧[引用]
1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键&table border oncontextmenu=return(false)&&td&no&/table& 可用于Table
2. &body onselectstart="return false"& 取消选取、防止复制
3. onpaste="return false" 不准粘贴
4. oncopy="" oncut="" 防止复制
5. &link rel="Shortcut Icon" href="favicon.ico"& IE地址栏前换成自己的图标
6. &link rel="Bookmark" href="favicon.ico"& 可以在收藏夹中显示出你的图标
7. &input style="ime-mode:disabled"& 关闭输入法
8. 永远都会带着框架&script language="JavaScript"&&!--if (window == top)top.location.href = "frames.htm"; //frames.htm为框架网页// --&&/script&
9. 防止被人frame&SCRIPT LANGUAGE=JAVASCRIPT&&!-- if (top.location != self.location)top.location=self.// --&&/SCRIPT&
10. 网页将不能被另存为&noscript&&iframe src="/blog/*.html&";&/iframe&&/noscript&
11. &input type=button value=查看网页源代码 onclick="window.location = "view-source:"+ """&
12.删除时确认&a href="javascript:if(confirm("确实要删除吗?"))location="boos.asp?&areyou=删除&page=1""&删除&/a&
13. 取得控件的绝对位置//Javascript&script language="Javascript"&function getIE(e){var t=e.offsetTvar l=e.offsetLwhile(e=e.offsetParent)alert("top="+t+"/nleft="+l);}&/script&
//VBScript&script language="VBScript"&&!--function getIE()dim t,l,a,bset a=document.all.img1t=document.all.img1.offsetTopl=document.all.img1.offsetLeftwhile a.tagName&&"BODY"set a = a.offsetParentt=t+a.offsetTopl=l+a.offsetLeftwendmsgbox "top="&t&chr(13)&"left="&l,64,"得到控件的位置"end function--&&/script&
14. 光标是停在文本框文字的最后&script language="javascript"&function cc(){var e = event.srcEvar r =e.createTextRange();r.moveStart("character",e.value.length);r.collapse(true);r.select();}&/script&&input type=text name=text1 value="123" onfocus="cc()"&
15. 判断上一页的来源javascript:document.referrer16. 最小化、最大化、关闭窗口&object id=hh1 classid="clsid:ADB880A6-D8FF-11CF-3B7A11"& &param name="Command" value="Minimize"&&/object&&object id=hh2 classid="clsid:ADB880A6-D8FF-11CF-3B7A11"& &param name="Command" value="Maximize"&&/object&&OBJECT id=hh3 classid="clsid:adb880a6-d8ff-11cf-3b7a11"&&PARAM NAME="Command" VALUE="Close"&&/OBJECT&&input type=button value=最小化 onclick=hh1.Click()&&input type=button value=最大化 onclick=hh2.Click()&&input type=button value=关闭 onclick=hh3.Click()&本例适用于IE
17.屏蔽功能键Shift,Alt,Ctrl&script&function look(){ if(event.shiftKey) alert("禁止按Shift键!"); //可以换成ALT CTRL} document.onkeydown= &/script&
18. 网页不会被缓存&META HTTP-EQUIV="pragma" CONTENT="no-cache"&&META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"&&META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb :57 GMT"&或者&META HTTP-EQUIV="expires" CONTENT="0"&
19.怎样让表单没有凹凸感?&input type=text style="border:1 solid #000000"& 或&input type=text style="border-left: border-right: border-top: border-bottom:
1 solid #000000"&&/textarea&
20.&div&&span&&&layer&的区别? &div&(division)用来定义大段的页面元素,会产生转行 &span&用来定义同一行内的元素,跟&div&的唯一区别是不产生转行 &layer&是ns的标记,ie不支持,相当于&div&
21.让弹出窗口总是在最上面:&body onblur="this.focus();"&
22.不要滚动条? 让竖条没有: &body style="overflow:overflow-y:hidden"& &/body& 让横条没有: &body style="overflow:overflow-x:hidden"& &/body& 两个都去掉?更简单了 &body scroll="no"& &/body&
23.怎样去掉图片链接点击后,图片周围的虚线?&a href="#" onFocus="this.blur()"&&img src="/blog/logo.jpg" border=0&&/a&
24.电子邮件处理提交表单&form name="form1" method="post" action="" enctype="text/plain"& &input type=submit&&/form&
25.在打开的子窗口刷新父窗口的代码里如何写?window.opener.location.reload()
26.如何设定打开页面的大小&body onload="top.resizeTo(300,200);"&打开页面的位置&body onload="top.moveBy(300,200);"&
27.在页面中如何加入不是满铺的背景图片,拉动页面时背景图不动 &STYLE& body {background-image:url(/blog/logo.gif); background-repeat:no- background-position:background-attachment: fixed} &/STYLE&
28. 检查一段字符串是否全由数字组成&script language="Javascript"&&!--function checkNum(str){return str.match(//D/)==null}alert(checkNum(""))alert(checkNum(""))// --&&/script&
29. 获得一个窗口的大小document.body.clientW document.body.clientHeight
30. 怎么判断是否是字符if (/[^/x00-/xff]/g.test(s)) alert("含有汉字");else alert("全是字符");
31.TEXTAREA自适应文字行数的多少&textarea rows=1 name=s1 cols=27 onpropertychange="this.style.posHeight=this.scrollHeight"&&/textarea&
32. 日期减去天数等于第二个日期&script language=Javascript&function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() + 1) + "月" + a.getDate() + "日")}cc("12/23/2002",2)&/script&
33. 选择了哪一个Radio&HTML&&script language="vbscript"&function checkme()for each ob in radio1if ob.checked then window.alert ob.valuenextend function&/script&&BODY&&INPUT name="radio1" type="radio" value="style" checked&Style&INPUT name="radio1" type="radio" value="barcode"&Barcode&INPUT type="button" value="check" onclick="checkme()"&&/BODY&&/HTML&
34.脚本永不出错&SCRIPT LANGUAGE="JavaScript"& &!-- Hide function killErrors() {
} window.onerror = killE // --& &/SCRIPT&
35.ENTER键可以让光标移到下一个输入框&input onkeydown="if(event.keyCode==13)event.keyCode=9"&36. 检测某个网站的链接速度:把如下代码加入&body&区域中:&script language=Javascript&tim=1setInterval("tim++",100)b=1var autourl=new Array()autourl[1]=""autourl[2]="javacool.3322.net"autourl[3]=""autourl[4]=""autourl[5]=""function butt(){document.write("&form name=autof&")for(var i=1;i&autourl.i++)document.write("&input type=text name=txt"+i+" size=10 value="/blog/测试中......&" =》&input type=text name=url"+i+" size=40& =》&input type=button value=GO
onclick=window.open(this.form.url"+i+".value)&&br/&")document.write("&input type=submit value=刷新&&/form&")}butt()function auto(url)else
b++}function run(){for(var
i=1;i&autourl.i++)document.write("&img
src=http://"+autourl+"/"+Math.random()+" width=1 height=1
onerror=auto("+"")&")}run()&/script&
37. 各种样式的光标auto :标准光标default :标准箭头hand :手形光标wait :等待光标text :I形光标vertical-text :水平I形光标no-drop :不可拖动光标not-allowed :无效光标help :?帮助光标all-scroll :三角方向标move :移动标crosshair :十字标e-resizen-resizenw-resizew-resizes-resizese-resizesw-resize
38.页面进入和退出的特效进入页面&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 以上22种随机选择一种
39.在规定时间内跳转&META http-equiv=V="REFRESH" content="5;URL=http://www.williamlong.info"&
40.网页是否被检索&meta name="ROBOTS" content="属性值"&  其中属性值有以下一些:  属性值为"all": 文件将被检索,且页上链接可被查询;  属性值为"none": 文件不被检索,而且不查询页上的链接;  属性值为"index": 文件将被检索;  属性值为"follow": 查询页上的链接;  属性值为"noindex": 文件不检索,但可被查询链接;  属性值为"nofollow": 文件不被检索,但可查询页上的链接。
最大化窗口?&script language="JavaScript"&&!--self.moveTo(0,0)self.resizeTo(screen.availWidth,screen.availHeight)//--&&/script&
解决问题:由于层与下拉框之间的优先级是:下拉框 &
层,因此在显示的时候,会因为优先级的次序而会出现如上问题。(如果几个元素都是层的话,我们可以通过层的 z-index
属性来设置)解决办法就是:给层中放一个优先级比下拉框更高的元素(iframe),从而解决此问题!具体解决代码如下:
&div id="menu" style="position: visibility:
top:20 left:20 width:100 height:200
background-color:#6699"&&table&& &tr&&td&item 1&/td&&/tr&& &tr&&td&item 2&/td&&/tr&& &tr&&td&item 3&/td&&/tr&& &tr&&td&item 4&/td&&/tr&& &tr&&td&item 5&/td&&/tr&& &/table&&
&iframe src="/blog/javascript:false" style="position:
visibility: top:0 left:0 width:100 height:200
z-index:-1;
filter='progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';"&&/iframe&&/div&
&a href="#" onclick="document.getElementById('menu').style.visibility='visible'"&menu&/a&
&form&& &select&&option&A form selection list&/option&&/select&&/form&
输入框也可以做的很漂亮了&div align="center"&&input type="hidden" name="hao" value="yes"&&&&&&&&&&&&&& 外向数:&input &&&&& name=answer &&&&&
style="color: rgb(255,0,0); border-left: border-right:
border-top: border-bottom: 1px solid
rgb(192,192,192)"&&&&&&&&&&&&  没回答的题数:&input &&&&& name=unanswer id="unanswer" &&&&&
style="color: rgb(255,0,0); border-left: border-right:
border-top: border-bottom: 1px solid
rgb(192,192,192)"&&&&&&&&&&&& &br/&&&&&&&&&&&& 总得分:&&&&&&&&&&& &input &&&&& name=score id="score" &&&&&
style="color: rgb(255,0,0); border-left: border-right:
border-top: border-bottom: 1px solid
rgb(192,192,192)"&&&&&&&&&&&&  结    论:&&&&&&&&&&& &input &&&&& name=xgjg id="xgjg" &&&&&
style="color: rgb(255,0,0); border-left: border-right:
border-top: border-bottom: 1px solid
rgb(192,192,192)"&&&&&&&&&&&& &br/&&&&&&&&&&&& &br/& &&&&&&&&&&& &&&&&&&&&&&
&input onClick=processForm(this.form) style="FONT-FAMILY: 宋体;
FONT-SIZE: 9pt" type=button value=查看结果 name="button"& &&&&&&&&&&&& &input type="reset" name="Submit" value="重做"&&&&&&&&&&&& &/div&注意:修改&body&为&body onload="max.Click()"&即为打开最大
化窗口,而如果改为&body onload="min.Click()"&就变为窗口一打开就最小化
&object id="min" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-3b7a11"&&&&&&&&&&&& &param name="Command" value="Minimize"&&&&&&&&&&
&/object& &object id="max" type="application/x-oleobject"
classid="clsid:adb880a6-d8ff-11cf-3b7a11"&&&&&&&&&&&& &param name="Command" value="Maximize"&&&&&&&&&& &/object&&/body&
页面自动刷新(说明)
当你做网页时,是不是有的时候想让你的网页自动不停刷新,或者过一段时间自动跳转到另外一个你自己设定的页面?其实实现这个效果非常地简单,而且这个效果甚至不能称之为特效。你只要把如下代码加入你的网页中就可以了。
1,页面自动刷新:把如下代码加入&head&区域中&meta http-equiv="refresh" content="20"&,其中20指每隔20秒刷新一次页面.
2,页面自动跳转:把如下代码加入&head&区域中&meta http-equiv="refresh" content="20;url=http://www.williamlong.info"&,其中20指隔20秒后跳转到页面。
页面自动关闭
5000是指时间&body onLoad="setTimeout(window.close, 5000)"&
弹出窗口自动关闭
10秒后弹出窗口自动关闭
注意:在新的tan.htm的body中要加 &onLoad="closeit()"&head
&script language="JavaScript"&
var gt = unescape('%3e');
var popup =
var over = "Launch Pop-up Navigator";
popup = window.open('', 'popupnav', 'width=225,height=235,resizable=1,scrollbars=auto');
if (popup != null) {
if (popup.opener == null) {
popup.opener =
popup.location.href = 'tan.htm';
&/script&&body&注意:这段代码是在新建文件中的&script language="JavaScript"&
&function closeit()
&&/script&
这个可不是&iframe&(引用)呀。是直接调用的。以下代码加入&body&区域
&object type="text/x-scriptlet" width="800"& height="1000" data="../index.htm"&&/object&
&技巧200多个&
&Javascript中最常用的55个经典技巧
1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键&table border oncontextmenu=return(false)&&td&no&/table& 可用于Table
2. &body onselectstart="return false"& 取消选取、防止复制
3. onpaste="return false" 不准粘贴
4. oncopy="" oncut="" 防止复制
5. &link rel="Shortcut Icon" href="favicon.ico"& IE地址栏前换成自己的图标
6. &link rel="Bookmark" href="favicon.ico"& 可以在收藏夹中显示出你的图标
7. &input style="ime-mode:disabled"& 关闭输入法
8. 永远都会带着框架&script language="JavaScript"&&!--if (window == top)top.location.href = "frames.htm"; //frames.htm为框架网页// --&&/script&
9. 防止被人frame&SCRIPT LANGUAGE=JAVASCRIPT&&!-- if (top.location != self.location)top.location=self.// --&&/SCRIPT&
10. 网页将不能被另存为&noscript&&*** src="/*.html&";&/***&&/noscript&
11. &input type=button value="/查看网页源代码 onclick="window.location = "view-source:"+ "http://www.pconline.com.cn""&12.删除时确认&a href=""javascript :if(confirm("确实要删除吗?"))location="boos.asp?&areyou=删除&page=1""&删除&/a&
13. 取得控件的绝对位置//Javascript&script language="Javascript"&function getIE(e){var t=e.offsetTvar l=e.offsetLwhile(e=e.offsetParent){t+=e.offsetTl+=e.offsetL}alert("top="+t+"/nleft="+l);}&/script&//VBScript&script language="VBScript"&&!--function getIE()dim t,l,a,bset a=document.all.img1t=document.all.img1.offsetTopl=document.all.img1.offsetLeftwhile a.tagName&&"BODY"set a = a.offsetParentt=t+a.offsetTopl=l+a.offsetLeftwendmsgbox "top="&t&chr(13)&"left="&l,64,"得到控件的位置"end function--&&/script&
14. 光标是停在文本框文字的最后&script language="javascript"&function cc(){var e = event.srcEvar r =e.createTextRange();r.moveStart("character",e.value.length);r.collapse(true);r.select();}&/script&&input type=text name=text1 value="123" onfocus="cc()"&
15. 判断上一页的来源javascript :document.referrer
16. 最小化、最大化、关闭窗口&object id=hh1 classid="clsid:ADB880A6-D8FF-11CF-3B7A11"& &param name="Command" value="Minimize"&&/object&&object id=hh2 classid="clsid:ADB880A6-D8FF-11CF-3B7A11"& &param name="Command" value="Maximize"&&/object&&OBJECT id=hh3 classid="clsid:adb880a6-d8ff-11cf-3b7a11"&&PARAM NAME="Command" value="/Close"&&/OBJECT&&input type=button value="/最小化 onclick=hh1.Click()&&input type=button value="/blog/最大化 onclick=hh2.Click()&&input type=button value=关闭 onclick=hh3.Click()&本例适用于IE
17.屏蔽功能键Shift,Alt,Ctrl&script&function look(){ if(event.shiftKey) alert("禁止按Shift键!"); //可以换成ALT CTRL} document.onkeydown= &/script&
18. 网页不会被缓存&META HTTP-EQUIV="pragma" CONTENT="no-cache"&&META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"&&META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb :57 GMT"&或者&META HTTP-EQUIV="expires" CONTENT="0"&
19.怎样让表单没有凹凸感?&input type=text style="""border:1 solid #000000"& 或&input type=text style="border-left: border-right: border-top: border-bottom: 1 solid #000000"&&/textarea&
20.&div&&span&&&layer&的区别? &div&(division)用来定义大段的页面元素,会产生转行 &span&用来定义同一行内的元素,跟&div&的唯一区别是不产生转行 &layer&是ns的标记,ie不支持,相当于&div&
21.让弹出窗口总是在最上面:&body onblur="this.focus();"&
22.不要滚动条? 让竖条没有: &body style="overflow:overflow-y:hidden"& &/body& 让横条没有: &body style="overflow:overflow-x:hidden"& &/body& 两个都去掉?更简单了 &body scroll="no"& &/body&
23.怎样去掉图片链接点击后,图片周围的虚线?&a href="#" onFocus="this.blur()"&&img src="/logo.jpg" border=0&&/a&
24.电子邮件处理提交表单&form name="form1" method="post" action= enctype="text/plain"& &input type=submit&&/form&
25.在打开的子窗口刷新父窗口的代码里如何写?window.opener.location.reload()
26.如何设定打开页面的大小&body onload="top.resizeTo(300,200);"&打开页面的位置&body onload="top.moveBy(300,200);"&
27.在页面中如何加入不是满铺的背景图片,拉动页面时背景图不动 &STYLE& body {background-image:url(/logo.gif); background-repeat:no- background-position:background-attachment: fixed} &/STYLE&
28. 检查一段字符串是否全由数字组成&script language="Javascript"&&!--function checkNum(str){return str.match(//D/)==null}alert(checkNum(""))alert(checkNum(""))// --&&/script&
29. 获得一个窗口的大小document.body.clientW document.body.clientHeight
30. 怎么判断是否是字符if (/[^/x00-/xff]/g.test(s)) alert("含有汉字");else alert("全是字符");
31.TEXTAREA自适应文字行数的多少&textarea rows=1 name=s1 cols=27 onpropertychange="this.style.posHeight=this.scrollHeight"&&/textarea&
32. 日期减去天数等于第二个日期&script language=Javascript&function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() + 1) + "月" + a.getDate() + "日")}cc("12/23/2002",2)&/script&
33. 选择了哪一个Radio&HTML&&script language="vbscript"&function checkme()for each ob in radio1if ob.checked then window.alert ob.valuenextend function&/script&&BODY&&INPUT name="radio1" type="radio" value="/style" checked&Style&INPUT name="radio1" type="radio" value="/blog/barcode"&Barcode&INPUT type="button" value="check" onclick="checkme()"&&/BODY&&/HTML&
34.脚本永不出错&SCRIPT LANGUAGE="JavaScript"& &!-- Hide function killErrors() {
} window.onerror = killE // --& &/SCRIPT&
35.ENTER键可以让光标移到下一个输入框&input onkeydown="if(event.keyCode==13)event.keyCode=9"&
36. 检测某个网站的链接速度:把如下代码加入&body&区域中:&script language=Javascript&tim=1setInterval("tim++",100)b=1var autourl=new Array()autourl[1]=1000){this.resized=this.style.width=1000;}" align=absMiddle border=0&"autourl[2]="javacool.3322.net"autourl[3]=1000){this.resized=this.style.width=1000;}" align=absMiddle border=0&"autourl[4]="www.nuaa.edu.cn"autourl[5]=1000){this.resized=this.style.width=1000;}" align=absMiddle border=0&"function butt(){***("&form name=autof&")for(var i=1;i&autourl.i++)***("&input type=text name=txt"+i+" size=10 value="/测试中&&& =》&input type=text name=url"+i+" size=40& =》&input type=button value="/blog/GO onclick=window.open(this.form.url"+i+".value)&&br&")***("&input type=submit value=刷新&&/form&")}butt()function auto(url){document.forms[0]["url"+b].value=urlif(tim&200){document.forms[0]["txt"+b].value="/链接超时"}else{document.forms[0]["txt"+b].value="/blog/时间"+tim/10+"秒"}b++}function run(){for(var i=1;i&autourl.i++)***("&img src=http://"+autourl+"/"+Math.random()+" width=1 height=1 onerror=auto("http://"+autourl+"")&")}run()&/script&
37. 各种样式的光标auto :标准光标default :标准箭头hand :手形光标wait :等待光标text :I形光标vertical-text :水平I形光标no-drop :不可拖动光标not-allowed :无效光标help :?帮助光标all-scroll :三角方向标move :移动标crosshair :十字标e-resizen-resizenw-resizew-resizes-resizese-resizesw-resize
38.页面进入和退出的特效进入页面&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 以上22种随机选择一种
39.在规定时间内跳转&META http-equiv=V="REFRESH" content="5;URL=http://www.51js.com"&
40.网页是否被检索&meta name="ROBOTS" content="属性值"&  其中属性值有以下一些:  属性值为"all": 文件将被检索,且页上链接可被查询;  属性值为"none": 文件不被检索,而且不查询页上的链接;  属性值为"index": 文件将被检索;  属性值为"follow": 查询页上的链接;  属性值为"noindex": 文件不检索,但可被查询链接;  属性值为"nofollow": 文件不被检索,但可查询页上的链接。
41、email地址的分割把如下代码加入&body&区域中&a href="mailto:"&&/a&
42、流动边框效果的表格把如下代码加入&body&区域中&SCRIPT&l=Array(6,7,8,9,'a','b','b','c','d','e','f')Nx=5;Ny=35t="&table border=0 cellspacing=0 cellpadding=0 height="+((Nx+2)*16)+"&&tr&"for(x=Nx;x&Nx+Ny;x++)t+="&td width=16 id=a_mo"+x+"& &/td&"t+="&/tr&&tr&&td
width=10 id=a_mo"+(Nx-1)+"& &/td&&td colspan="+(Ny-2)+"
rowspan="+(Nx)+"& &/td&&td width=16
id=a_mo"+(Nx+Ny)+"&&/td&&/tr&"for(x=2;x&=Nx;x++)t+="&tr&&td
width=16 id=a_mo"+(Nx-x)+"& &/td&&td width=16
id=a_mo"+(Ny+Nx+x-1)+"& &/td&&/tr&"t+="&tr&"for(x=Ny;x&0;x--)t+="&td width=16 id=a_mo"+(x+Nx*2+Ny-1)+"& &/td&"***(t+"&/tr&&/table&")var N=Nx*2+Ny*2function f1(y){for(i=0;i&N;i++){c=(i+y)%20;if(c&10)c=20-cdocument.all["a_mo"+(i)].bgColor=""""#0000"+l[c]+l[c]+"'"}y++setTimeout('f1('+y+')','1')}f1(1)&/SCRIPT&
43、JavaScript主页弹出窗口技巧窗口中间弹出&script&window.open("http://www.cctv.com","","width=400,height=240,top="+(screen.availHeight-240)/2+",left="+(screen.availWidth-400)/2);&/script&============&html&&head&&script language="LiveScript"&function WinOpen() {&&& msg=open("","DisplayWindow","toolbar=no,directories=no,menubar=no");&&& msg.***("&HEAD&&TITLE&哈 罗!&/TITLE&&/HEAD&");&&&
msg.***("&CENTER&&H1&酷 毙 了!&/H1&&h2&这
是&B&JavaScript&/B&所 开 的 视 窗!&/h2&&/CENTER&");}&/script&&/head&&body&&form&&input type="button" name="Button1" value="Push me" onclick="WinOpen()"&&/form&&/body&&/html&==============一、在下面的代码中,你只要单击打开一个窗口,即可链接到赛迪网。而当你想关闭时,只要单击一下即可关闭刚才打开的窗口。  代码如下:   &SCRIPT language="JavaScript"&   &!--   function openclk() {   another=open('1000){this.resized=this.style.width=1000;}" align=absMiddle border=0&,'NewWindow');   }   function closeclk() {   another.close();   }   //--&   &/SCRIPT&   &FORM&   &INPUT TYPE="BUTTON" NAME="open" value="/打开一个窗口" onClick="openclk()"&   &BR&   &INPUT TYPE="BUTTON" NAME="close" value="/blog/关闭这个窗口" onClick="closeclk()"&   &/FORM&   二、上面的代码也太静了,为何不来点动感呢?如果能给页面来个降落效果那该多好啊!   代码如下:   &script&   function drop(n) {   if(self.moveBy){   self.moveBy (0,-900);   for(i = i & 0; i--){   self.moveBy(0,3);   }   for(j = 8; j & 0; j--){   self.moveBy(0,j);   self.moveBy(j,0);   self.moveBy(0,-j);   self.moveBy(-j,0);   }   }   }   &/script&   &body onLoad="drop(300)"&   三、讨厌很多网站总是按照默认窗口打开,如果你能随心所欲控制打开的窗口那该多好。   代码如下:   &SCRIPT LANGUAGE="JavaScript"&   &!-- Begin   function popupPage(l, t, w, h) {   var windowprops = "location=no,scrollbars=no,menubars=no,toolbars=no,resizable=yes" +   ",left=" + l + ",top=" + t + ",width=" + w + ",height=" +   var URL = "http://www.80cn.com";   popup = window.open(URL,"MenuPopup",windowprops);   }   // End --&   &/script&   &table&   &tr&   &td&   &form name=popupform&   &pre&   打开页面的参数&br&   离开左边的距离: &input type=text name=left size=2 maxlength=4& pixels   离开右边的距离: &input type=text name=top size=2 maxlength=4& pixels   窗口的宽度: &input type=text name=width size=2 maxlength=4& pixels   窗口的高度: &input type=text name=height size=2 maxlength=4& pixels   &/pre&   &center&   &input type=button value="打开这个窗口!" onClick="popupPage(this.form.left.value, this.form.top.value, this.form.width.value,this.form.height.value)"&   &/center&   &/form&   &/td&   &/tr&   &/table&你只要在相对应的对话框中输入一个数值即可,将要打开的页面的窗口控制得很好。
44、页面的打开移动把如下代码加入&body&区域中&SCRIPT LANGUAGE="JavaScript"&&!-- Beginfor (t = 2; t & 0; t--) {for (x = 20; x & 0; x--) {for (y = 10; y & 0; y--) {parent.moveBy(0,-x);&& }}for (x = 20; x & 0; x--) {for (y = 10; y & 0; y--) {parent.moveBy(0,x);&& }}for (x = 20; x & 0; x--) {for (y = 10; y & 0; y--) {parent.moveBy(x,0);&& }}for (x = 20; x & 0; x--) {for (y = 10; y & 0; y--) {parent.moveBy(-x,0);&&&& }&& } }//--&//&& End --&&/script&
45、显示个人客户端机器的日期和时间&script language="LiveScript"&&!-- Hiding&& today = new Date()&& ***("现 在 时 间 是: ",today.getHours(),":",today.getMinutes())&& ***("&br&今 天 日 期 为: ", today.getMonth()+1,"/",today.getDate(),"/",today.getYear());// end hiding contents --&&/script&
46、自动的为你每次产生最後修改的日期了: &html&&body&This is a simple HTML- page.&br&Last changes:&& &script language="LiveScript"&&& &!--&& hide script from old browsers&&&& ***(document.lastModified)&& // end hiding contents --&&& &/script&&/body&&/html&
47、不能为空和邮件地址的约束:&html&&head&&script language="JavaScript"&&!-- Hidefunction test1(form) {&& if (form.text1.value == "")&&&& alert("您 没 写 上 任 何 东 西, 请 再 输 入 一 次 !")&& else { &&& alert("嗨 "+form.text1.value+"! 您 已 输 入 完 成 !");&& }}function test2(form) {&& if (form.text2.value == "" || &&&&&& form.text2.value.indexOf('@', 0) == -1) &&&&&&&& alert("这 不 是 正 确 的 e-mail address! 请 再 输 入 一 次 !");&& else alert("您 已 输 入 完 成 !");}// --&&/script&&/head&&body&&form name="first"&Enter your name:&br&&input type="text" name="text1"&&input type="button" name="button1" value="输 入 测 试" onClick="test1(this.form)"&&P&Enter your e-mail address:&br&&input type="text" name="text2"&&input type="button" name="button2" value="输 入 测 试" onClick="test2(this.form)"&&/body&
48、跑马灯&html&&head&&script language="JavaScript"&&!-- Hidevar scrtxt="怎麽样 ! 很酷吧 ! 您也可以试试."+"Here goes your message the visitors to your page will "+"look at for hours in pure fascination...";var lentxt=scrtxt.var width=100;var pos=1-function scroll() {&& pos++;&& var scroller="";&& if (pos==lentxt) {&&&& pos=1-&& }&& if (pos&0) {&&&& for (var i=1; i&=Math.abs(pos); i++) {&&&&&& scroller=scroller+" ";}&&&& scroller=scroller+scrtxt.substring(0,width-i+1);&& }&& else {&&&& scroller=scroller+scrtxt.substring(pos,width+pos);&& }&& window.status =&& setTimeout("scroll()",150);&& }//--&&/script&&/head&&body onLoad="scroll();"&这里可显示您的网页 !&/body&&/html&
49、在网页中用按钮来控制前页,后页和主页的显示。&html&&body&&FORM NAME="buttonbar"&&&&&& &INPUT TYPE="button" VALUE="Back" onClick="history.back()"&&&&&& &INPUT TYPE="button" VALUE="JS- Home" onClick="location='script.html'"&&&&&& &INPUT TYPE="button" VALUE="Next" onCLick="history.forward()"&&/FORM&&/body&&/html&50、查看某网址的源代码把如下代码加入&body&区域中&SCRIPT&function add(){var ress=document.forms[0].luxiaoqing.valuewindow.location="view-source:"+}&/SCRIPT&输入要查看源代码的URL地址:&FORM&&input type="text" name="luxiaoqing" size=40 value="http://"&&/FORM&&FORM&&br&&INPUT type="button" value="查看源代码" onClick=add()&&/FORM&
51、title显示日期把如下代码加入&body&区域中:&script language="JavaScript1.2"&&!--hidevar isnMonth = newArray("1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月");var isnDay = newArray("星期日","星期一","星期二","星期三","星期四","星期五","星期六","星期日");today = new Date () ;Year=today.getYear();Date=today.getDate();if (document.all)document.title="今天是: "+Year+"年"+isnMonth[today.getMonth()]+Date+"日"+isnDay[today.getDay()]//--hide--&&/script&
52、显示所有链接把如下代码加入&body&区域中&script language="JavaScript1.2"&&!--function extractlinks(){var links=document.all.tags("A")var total=links.lengthvar win2=window.open("","","menubar,scrollbars,toolbar")win2.***("&font size='2'&一共有"+total+"个连接&/font&&br&")for (i=0;i&i++){win2.***("&font size='2'&"+links[i].outerHTML+"&/font&&br&")}}//--&&/script&&input type="button" onClick="extractlinks()" value="显示所有的连接"&
53、回车键换行把如下代码加入&body&区域中&script type="text/javascript"&&&&&&&&&&&&&&&&&function handleEnter (field, event) {&& var keyCode = event.keyCode ? event.keyCode : event.which ?event.which : event.charC&& if (keyCode == 13) {&&&&&& for (i = 0; i & field.form.elements. i++)&&&& if (field == field.form.elements[i])&&&&&&&& i = (i + 1) % field.form.elements.&&& field.form.elements[i].focus();&&&&& } && else&&}&&&&&&&/script&&form&&input type="text" onkeypress="return handleEnter(this, event)"&&br&&input type="text" onkeypress="return handleEnter(this, event)"&&br&&textarea&回车换行
54、确认后提交把如下代码加入&body&区域中&SCRIPT LANGUAGE="JavaScript"&&!--function msg(){if (confirm("你确认要提交嘛!"))document.lnman.submit()}//--&&/SCRIPT&&form name="lnman" method="post" action=""&&& &p&&&&& &input type="text" name="textfield" value="确认后提交"&&& &/p&&& &p&&&&& &input type="button" name="Submit" value="提交" onclick="msg();"&&& &/p&&/form&
55、改变表格的内容把如下代码加入&body&区域中&script ***script&var arr=new Array()arr[0]="一一一一一";arr[1]="二二二二二";arr[2]="三三三三三";&/script&&select onchange="zz.cells[this.selectedIndex].innerHTML=arr[this.selectedIndex]"&&& &option value=a&改变第一格&/option&&& &option value=a&改变第二格&/option&&& &option value=a&改变第三格&/option&&/select&&table id=zz border=1&&& &tr height=20&&&&& &td width=150&第一格&/td&&td width=150&第二格&/td&&td width=150&第三格&/td&&& &/tr&&/table&
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=
元素 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=""&&
快速转到位置 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-break: break-
透明背景 &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() {}
禁止保存 &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("".replace(/-/g, "\/")).getTime()
窗口是否关闭 win.closed
checkbox扁平 &input type=checkbox style="position: 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.clientW&& s&&+=&&"\r\n网页可见区域高:"+&&document.body.clientH&& s&&+=&&"\r\n网页可见区域高:"+&&document.body.offsetWeight&&+"&&(包括边线的宽)";&& s&&+=&&"\r\n网页可见区域高:"+&&document.body.offsetHeight&&+"&&(包括边线的宽)";&& s&&+=&&"\r\n网页正文全文宽:"+&&document.body.scrollW&& s&&+=&&"\r\n网页正文全文高:"+&&document.body.scrollH&& s&&+=&&"\r\n网页被卷去的高:"+&&document.body.scrollT&& s&&+=&&"\r\n网页被卷去的左:"+&&document.body.scrollL&& s&&+=&&"\r\n网页正文部分上:"+&&window.screenT&& s&&+=&&"\r\n网页正文部分左:"+&&window.screenL&& s&&+=&&"\r\n屏幕分辨率的高:"+&&window.screen.&& s&&+=&&"\r\n屏幕分辨率的宽:"+&&window.screen.&& s&&+=&&"\r\n屏幕可用工作区高度:"+&&window.screen.availH&& s&&+=&&"\r\n屏幕可用工作区宽度:"+&&window.screen.availW&&
//过滤数字
//特殊用途
//正则匹配
匹配中文字符的正则表达式:&[\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-3B7A11"&' &&&&&&&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.offsetT& &var&l=e.offsetL& &while(e=e.offsetParent) &{& &&t+=e.offsetT& &&l+=e.offsetL& &}& &var&rec&=&new&Array(1); &rec[0]&&=&t; &rec[1]&=&l; &return&rec }& &/script&
//获得控件的绝对位置(2)
oRect&=&obj.getBoundingClientRect(); oRect.left oRect.
//最小化,最大化,关闭
//光标停在文字最后
&script&language="javascript"& function&cc() { &var&e&=&event.srcE &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&
//网页是否被检索
//打印分页
//设置打印
&object&id="factory"&style="display:none"&viewastext &&classid="clsid:eb-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:}&!--用本样式在打印时隐藏非打印项目--&& .PageNext{page-break-after:&}&!--控制分页--&& &/style&& &object&&id="WebBrowser"&&width=0&&height=0&&classid="CLSID:A-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_K 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:resizable:help:dialogHeight:height:30dialogHeight:40"); }
//屏蔽按键
&html& &head& &&&meta&http-equiv="Content-Type"&content="text/&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(梅花雨)& 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:1dialogheight:1px"); &&&&&&return&false; &&} } &/script& 屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键 &/body& &/html&
//屏蔽打印 &style& @media print{ * {display:none} } &/style&
//移动的图层,拖动
1.&span&style='position:width:200;height:200;background:red'&onmousedown=MouseDown(this)&onmousemove=MouseMove()&onmouseup=MouseUp()&meizz&/span& &script&language=javascript& var&O function&MouseDown(obj) { &&Obj= &&Obj.setCapture(); &&Obj.l=event.x-Obj.style.pixelL &&Obj.t=event.y-Obj.style.pixelT } 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: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.myD 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"]. 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& &
//刷新后不变的文本框
//访问剪贴板
//操作COOKIE
function&SetCookie(sName,&sValue) { &document.cookie&=&sName&+&"="&+&escape(sValue)&+&";&"; } function&GetCookie(sName) { &var&aCookie&=&document.cookie.split(";&"); &for&(var&i=0;&i&&&aCookie.&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&:59&GMT;"; }
//setTimeout增加参数
&script& var&_st&=&window.setT 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.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.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("下载完成."); }
//检验连接是否有效
//组件是否安装 isComponentInstalled("{6B053A4B-A7EC-4D3D-A1A5739}", "componentID"))
//检查网页是否存在
function&CheckURL(URL) { &&var&xmlhttp&=&new&ActiveXObject("Microsoft.XMLHTTP"); &&xmlhttp.Open("GET",URL,&false); &&try &&{& &&&&xmlhttp.Send();& &&&&var&result&=&xmlhttp. &&} &&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=&User&ID=&" &&&&+"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&

我要回帖

更多关于 js var a 的文章

 

随机推荐