JS基础知识

  基础知识... 5

1 创建脚本块... 5

2 隐藏脚本代码... 5

3 浏览器不支持的时候显示... 5

4 链接外部脚本文件... 5

5 注释脚本... 6

6 出到浏览器... 6

7 定义变量... 6

8 字符串相加... 6

9 字符串搜索... 6

10 字符串替换... 6

11 格式化字串... 6

12 创建数组... 7

13 数组排序... 7

14 分割字符串... 7

15 弹出警告信息... 8

16 弹出确认框... 8

17 定义函数... 8

18 调用JS函数... 8

19 在页面加载完成后执行函数... 8

20 条件判断... 9

21 指定次数循环... 9

22 设定将来执行... 9

23 定时执行函数... 9

24 取消定时执行... 10

25 在页面卸载时候执行函数... 10

26 访问document对象... 10

27 动态输出HTML. 10

28 输出换行... 10

29 输出日期... 10

30 指定日期的时区... 11

31 设置日期输出格式... 11

32 读取URL参数... 11

33 打开一个新的document对象... 11

34 页面跳转... 12

35 添加网页加载进度窗口... 12

javaScript技巧集合... 12

事件源对象... 12

捕获释放... 12

事件按键... 12

事件返回值... 13

鼠标位置... 13

窗体活动元素... 13

绑定事件... 13

访问窗体元素... 13

窗体命令... 13

窗体COOKIE. 13

菜单事件... 13

创建元素... 13

根据鼠标获得元... 13

窗体图片... 13

窗体事件绑定... 13

元素... 14

对象绑定事件... 14

插件数目... 14

取变量类型... 14

下拉框... 14

查找对... 14

定时... 14

UNCODE编码... 14

父对象... 14

交换表的行... 15

替换CSS. 15

并排显示... 15

隐藏焦点... 15

根据宽度换行... 15

自动刷新... 15

简单邮件... 15

快速转到位置... 15

... 15

网页传递参数... 16

可编辑... 16

执行菜单命令... 16

双字节字符... 16

让英文字符串超出表格宽度自动换行... 16

透明背景... 16

获得style内容... 16

HTML标签... 16

第一个style标签... 16

style标签里的第一个样式... 17

防止点击空链接时,页面往往重置到页首端。... 17

上一网页源... 17

释放内存... 17

禁止右键... 17

禁止保存... 17

禁止选取... 17

禁止粘贴... 17

地址栏图标... 17

收藏栏图标... 18

查看源码... 18

关闭输入法... 18

自动全选... 18

ENTER键可以让光标移到下一个输入框... 18

文本框的默认值... 18

title换行... 18

获得时间所代表的微秒... 18

窗口是否关闭... 18

checkbox扁平... 19

获取选中内容... 19

自动完成功能... 19

窗口最大化... 19

无关闭按钮IE. 19

统一编码/解码... 19

表格行指示... 19

各种尺寸... 19

正则匹配... 20

消除图像工具栏... 21

无提示关闭... 21

取得控件得绝对位置(1) 22

获得控件的绝对位置(2) 22

光标停在文字最后... 22

页面进入和退出的特效... 23

设置打印... 24

自带的打印预览... 25

去掉打印时的页眉页脚... 25

浏览器验证... 26

计算内容宽和高... 27

无模式的提示框... 27

屏蔽按键... 28

屏蔽打印... 29

移动的图层,拖动... 29

文档状态改变... 30

操作COOKIE. 31

setTimeout增加参数... 31

自定义的apply,call 32

下载文件... 32

组件是否安装... 33

检查网页是否存在... 33

连接数据库... 34

使用数据岛... 34

获得参数... 35

可编辑SELECT. 36

设置光标位置... 36

页内查找... 37

... 38

自定义提示条... 39

插入文... 40

禁止FSO.. 41

细线SELECT. 41

条件编译... 42

取得innerText 42

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

Import 43

js枚举... 44

POST代替FORM.. 47

JavaScriptC# Windows应用程序交互... 49

javascript event 事件解析... 52

javascriptasp变量互传... 57

javascript检查输入函数备忘... 57

JavaScript实际应用:简单二级联动菜单实现... 58

JavaScript应用:Iframe自适应其加载的内容高度... 60

 

 

 

 

 

 

 

 

 

 

 

 

JavaScript

有些时候你精通一门语言,但是会发现你其实整天在和其它语言打交道,也许你以为这些微不足道,不至于影响你的开发进度,但恰恰是这些你不重视的东西会浪费你很多时间,我一直以为我早在几年前就已经精通JavaScript了,直到目前,我才越来越觉得JavaScript远比我想象的复杂和强大,我开始崇拜它,
趁着节日的空隙,把有关JavaScript的方法和技巧整理下,让每个在为JavaScript而烦恼的人明白,JavaScript就这么回事!并希望JavaScript还可以成为你的朋友,让你豁然开朗,在项目中更好的应用~

适合阅读范围:对JavaScript一无所知~离精通只差一步之遥的人
基础知识:HTML

基础知识

1 创建脚本块

<script language=”JavaScript”>
       JavaScript code goes here
</script> 

 2 隐藏脚本代码

1: <script language=”JavaScript”>
2: <!--
3: document.write(“Hello”);
4: 
// -->
5: </script> 


在不支持JavaScript的浏览器中将不执行相关代码

3 浏览器不支持的时候显示

1: <noscript>
2: Hello to the non-JavaScript browser.
3: </noscript> 

4 链接外部脚本文件

1: <script language=”JavaScript” src="/”filename.js"”></script> 


5
注释脚本

1: // This is a comment
2: document.write(“Hello”); // This is a comment
3: /**//*
4: All of this
5: is a comment
6: */
 

6 输出到浏览器

1: document.write(“<strong>Hello</strong>”); 

7 定义变量

1: var myVariable = “some value”; 

8 字符串相加

1: var myString = “String 1”  + “String 2” ; 

9 字符串搜索

1: <script language=”JavaScript”>
2: <!--
3: 
var myVariable = “Hello there”;
4: 
var therePlace = myVariable.search(“there”);
5: document.write(therePlace);
6: 
// -->
7: </script> 

10 字符串替换

1: thisVar.replace(“Monday”,”Friday”); 


11
格式化字串

1: <script language=”JavaScript”>
2: <!--
3: 
var myVariable = “Hello there”;
4: document.write(myVariable.big() + “<br/>”);
5: document.write(myVariable.blink() + “<br/>”);
6: document.write(myVariable.bold() + “<br/>”);
7: document.write(myVariable.fixed() + “<br/>”);
8: document.write(myVariable.fontcolor(“red”) + “<br/>”);
9: document.write(myVariable.fontsize(“ 18pt ”) + “<br/>”);
10: document.write(myVariable.italics() + “<br/>”);
11: document.write(myVariable.small() + “<br/>”);
12: document.write(myVariable.strike() + “<br/>”);
13: document.write(myVariable.sub() + “<br/>”);
14: document.write(myVariable.sup() + “<br/>”);
15: document.write(myVariable.toLowerCase() + “<br/>”);
16: document.write(myVariable.toUpperCase() + “<br/>”);
17: 
18: 
var firstString = “My String”;
19: 
var finalString = firstString.bold().toLowerCase().fontcolor(“red”);
20: 
// -->
21: </script> 

12 创建数组

1: <script language=”JavaScript”>
2: <!--
3: 
var myArray = new Array(5);
4: myArray[0] = “First Entry”;
5: myArray[1] = “Second Entry”;
6: myArray[2] = “Third Entry”;
7: myArray[3] = “Fourth Entry”;
8: myArray[4] = “Fifth Entry”;
9: 
var anotherArray = new Array(“First Entry”,”Second Entry”,”Third Entry”,”Fourth Entry”,”Fifth Entry”);
10: 
// -->
11: </script> 

13 数组排序

1: <script language=”JavaScript”>
2: <!--
3: 
var myArray = new Array(5);
4: myArray[0] = “z”;
5: myArray[1] = “c”;
6: myArray[2] = “d”;
7: myArray[3] = “a”;
8: myArray[4] = “q”;
9: document.write(myArray.sort());
10: 
// -->
11: </script> 

14 分割字符串

1: <script language=”JavaScript”>
2: <!--
3: 
var myVariable = “a,b,c,d”;
4: 
var stringArray = myVariable.split(“,”);
5: document.write(stringArray[0]);
6: document.write(stringArray[1]);
7: document.write(stringArray[2]);
8: document.write(stringArray[3]);
9: 
// -->
10: </script> 

15 弹出警告信息

1: <script language=”JavaScript”>
2: <!--
3: window.alert(“Hello”);
4: 
// -->
5: </script> 

 16 弹出确认框

1: <script language=”JavaScript”>
2: <!--
3: 
var result = window.confirm(“Click OK to continue”);
4: 
// -->
5: </script> 

17 定义函数

1: <script language=”JavaScript”>
2: <!--
3: 
function multiple(number1,number2) ...
4: 
var result = number1 * number2;
5: 
return result;
6: }
7: 
// -->
8: </script> 

18 调用JS函数

1: <href=”#” onClick=”functionName()”>Link text</a>
2: 
<href="/”javascript:functionName"()”>Link text</a> 

19 在页面加载完成后执行函数

1: <body onLoad=”functionName();”>
2: Body of the page
3: 
</body> 


20
条件判断

1: <script>
2: <!--
3: 
var userChoice = window.confirm(“Choose OK or Cancel”);
4: 
var result = (userChoice == true) ? “OK” : “Cancel”;
5: document.write(result);
6: 
// -->
7: </script> 

 

21 指定次数循环

1: <script>
2: <!--
3: 
var myArray = new Array(3);
4: myArray[0] = “Item  0” ;
5: myArray[1] = “Item  1” ;
6: myArray[2] = “Item  2” ;
7: 
for (i = 0; i < myArray.length; i++) ...
8: document.write(myArray[i] + “<br/>”);
9: }
10: 
// -->
11: </script> 

22 设定将来执行

1: <script>
2: <!--
3: 
function hello() ...
4: window.alert(“Hello”);
5: }
6: window.setTimeout(“hello()”,5000);
7: 
// -->
8: </script> 

23 定时执行函数

1: <script>
2: <!--
3: 
function hello() ...
4: window.alert(“Hello”);
5: window.setTimeout(“hello()”,5000);
6: }
7: window.setTimeout(“hello()”,5000);
8: 
// -->
9: </script> 

24 取消定时执行

1: <script>
2: <!--
3: 
function hello() ...
4: window.alert(“Hello”);
5: }
6: 
var myTimeout = window.setTimeout(“hello()”,5000);
7: window.clearTimeout(myTimeout);
8: 
// -->
9: </script> 

25 在页面卸载时候执行函数

1: <body onUnload=”functionName();”>
2: Body of the page
3: 
</body> 

JavaScript就这么回事2:浏览器输出


26
访问document对象

1: <script language=”JavaScript”>
2: 
var myURL = document.URL;
3: window.alert(myURL);
4: </script> 

 27 动态输出HTML

1: <script language=”JavaScript”>
2: document.write(“<p>Here’s some information about 
this document:</p>”);
3: document.write(“<ul>”);
4: document.write(“<li>Referring Document: “ + document.referrer + “</li>”);
5: document.write(“<li>Domain: “ + document.domain + “</li>”);
6: document.write(“<li>URL: “ + document.URL + “</li>”);
7: document.write(“</ul>”);
8: </script> 

28 输出换行

1: document.writeln(“<strong>a</strong>”);
2: document.writeln(“b”); 

29 输出日期

1: <script language=”JavaScript”>
2: 
var thisDate = new Date();
3: document.write(thisDate.toString());
4: </script> 

30 指定日期的时区

1: <script language=”JavaScript”>
2: 
var myOffset = -2;
3: 
var currentDate = new Date();
4: 
var userOffset = currentDate.getTimezoneOffset()/60;
5: 
var timeZoneDifference = userOffset - myOffset;
6: currentDate.setHours(currentDate.getHours() + timeZoneDifference);
7: document.write(“The time and date 
in Central Europe is: “ + currentDate.toLocaleString());
8: </script> 


31
设置日期输出格式

1: <script language=”JavaScript”>
2: 
var thisDate = new Date();
3: 
var thisTimeString = thisDate.getHours() + “:” + thisDate.getMinutes();
4: 
var thisDateString = thisDate.getFullYear() + “/” + thisDate.getMonth() + “/” + thisDate.getDate();
5: document.write(thisTimeString + “ on “ + thisDateString);
6: </script> 


32
读取URL参数

1: <script language=”JavaScript”>
2: 
var urlParts = document.URL.split(“?”);
3: 
var parameterParts = urlParts[1].split(“&”);
4: 
for (i = 0; i < parameterParts.length; i++) ...
5: 
var pairParts = parameterParts[i].split(“=”);
6: 
var pairName = pairParts[0];
7: 
var pairValue = pairParts[1];
8: document.write(pairName + “ 
“ +pairValue );
9: }
10: </script> 

你还以为HTML是无状态的么?

33 打开一个新的document对象

1: <script language=”JavaScript”>
2: 
function newDocument() ...
3: document.open();
4: document.write(“<p>This is a New Document.</p>”);
5: document.close();
6: }
7: </script> 

34 页面跳转

1: <script language=”JavaScript”>
2: window.location = “http:
//www.liu21st.com/”;
3: </script> 

35 添加网页加载进度窗口

1: <html>
2: 
<head>
3: 
<script language='javaScript'>...
4: 
var placeHolder = window.open('holder.html','placeholder','width=200,height=200');
5: 
</script>
6: 
<title>The Main Page</title>
7: 
</head>
8: 
<body onLoad='placeHolder.close()'>
9: 
<p>This is the main page</p>
10: 
</body>
11: 
</html> 

 

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.οnmοusedοwn=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 οncοntextmenu="return false" οndragstart="return false" onselectstart ="return false" οnselect="document.selection.empty()" οncοpy="document.selection.empty()" onbeforecopy="return false"οnmοuseup="document.selection.empty()> 

禁止粘贴


<input type=text οnpaste="return false">

地址栏图标


<link rel="Shortcut Icon" href="favicon.ico">
favicon.ico
名字最好不变16*1616,放虚拟目录根目录下

收藏栏图标


<link rel="Bookmark" href="favicon.ico">

查看源码


<input type=button value=
查看网页源代码 οnclick="window.location = 'view-source:'+ 'http://www.csdn.net/'">

关闭输入法


<input style="ime-mode:disabled">

自动全选


<input type=text name=text1 value="123" οnfοcus="this.select()">

ENTER键可以让光标移到下一个输入框


<input οnkeydοwn="if(event.keyCode==13)event.keyCode=9">

文本框的默认值


<input type=text value="123" οnfοcus="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 οnlοad="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 οnmοuseοver="this.bgColor='#f 0f 0f 0'" οnmοuseοut="this.bgColor='#ffffff'">

各种尺寸

 

s  +=  "/r/n网页可见区域宽:"+  document.body.clientWidth;  
s  +=  "/r/n
网页可见区域高:"+  document.body.clientHeight;  
s  +=  "/r/n
网页可见区域高:"+  document.body.offsetWeight  +"  (包括边线的宽)";  
s  +=  "/r/n
网页可见区域高:"+  document.body.offsetHeight  +"  (包括边线的宽)";  
s  +=  "/r/n
网页正文全文宽:"+  document.body.scrollWidth;  
s  +=  "/r/n
网页正文全文高:"+  document.body.scrollHeight;  
s  +=  "/r/n
网页被卷去的高:"+  document.body.scrollTop;  
s  +=  "/r/n
网页被卷去的左:"+  document.body.scrollLeft;  
s  +=  "/r/n
网页正文部分上:"+  window.screenTop;  
s  +=  "/r/n
网页正文部分左:"+  window.screenLeft;  
s  +=  "/r/n
屏幕分辨率的高:"+  window.screen.height;  
s  +=  "/r/n
屏幕分辨率的宽:"+  window.screen.width;  
s  +=  "/r/n
屏幕可用工作区高度:"+  window.screen.availHeight;  
s  +=  "/r/n
屏幕可用工作区宽度:"+  window.screen.availWidth;  

//过滤数字

 

//特殊用途

 

//不缓存

 


正则匹配

 

 

匹配中文字符的正则表达式: [/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- ./?%&=]*)?
以下是例子:
利用正则表达式限制网页表单里的文本框输入内容:
用正则表达式限制只能输入中文:οnkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/u4E00-/u9FA5]/g,''))"
1.
用正则表达式限制只能输入全角字符: οnkeyup="value=value.replace(/[^/uFF00-/uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/uFF00-/uFFFF]/g,''))"
2.
用正则表达式限制只能输入数字:οnkeyup="value=value.replace(/[^/d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))"
3.
用正则表达式限制只能输入数字和英文:οnkeyup="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:ADB 880A 6-D8FF-11CF-9377-00AA003B 7A 11">'
       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.

//最小化,最大化,关闭

 

 

光标停在文字最后

 

 

<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" οnfοcus="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:
  矩形缩小 
  矩形扩大 
  圆形缩小
  圆形扩大 
  下到上刷新 
  上到下刷新
  左到右刷新 
  右到左刷新 
  竖百叶窗
  横百叶窗 
  10 错位横百叶窗 
  11 错位竖百叶窗
  12 点扩散 
  13 左右到中间刷新 
  14 中间到左右刷新
  15 中间到上下
  16 上下到中间 
  17 右下到左上
  18 右上到左下 
  19 左上到右下 
  20 左下到右上
  21 横条 
  22 竖条 
  23 

//网页是否被检索

 


//
打印分页

 


设置打印

 

<object id="factory" style="display:none" viewastext
  classid="clsid:1663ed61-23eb-11d2-b 92f -008048fdd814"
  codebase="http://www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360"
></object>
<input type=button value=
页面设置 οnclick="factory.printing.PageSetup()">
<input type=button value=
打印预览 οnclick="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="
打印本页" οnclick="factory.printing.Print(false)">
<input type=button value="
页面设置" οnclick="factory.printing.PageSetup()">
<input type=button value="
打印预览" οnclick="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: 8856F 961 -340A -11D0-A96B -00C 04FD 705A 2">    
</object>    
 
<center class="Noprint" >
<input type=button value=
打印 οnclick=document.all.WebBrowser.ExecWB(6,1)> 
<input type=button value=
直接打印 οnclick=document.all.WebBrowser.ExecWB(6,6)> 
<input type=button value=
页面设置 οnclick=document.all.WebBrowser.ExecWB(8,1)> 
</p> 
<p> <input type=button value=
打印预览 οnclick=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="
清空页码" οnclick=PageSetup_Null()>
<input type="button" value="
恢复页码" οnclick=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+NShift+F10Alt+F4F11F5刷新、退格键</title>
</head>
<body>
<script language="Javascript"><!--
  //
屏蔽鼠标右键、Ctrl+NShift+F10F11F5刷新、退格键
  //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+NShift+F10Alt+F4F11F5刷新、退格键
</body>
</html>

屏蔽打印


<style>
@media print{
* {display:none}
}
</style>

移动的图层,拖动

 

1.<span style='position:absolute;width:200;height:200;background:red' οnmοusedοwn=MouseDown(this) οnmοusemοve=MouseMove() οnmοuseup=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" οndrag="doDrag();" οnmοuseοver="this.style.cursor='hand'" style="position:absolute;left=100;top=100;" οnmοusedοwn="doMouseDown();">
<a href="#" οnclick="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>

//刷新后不变的文本框

 

//访问剪贴板

 

操作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("
下载完成.");
}


//
检验连接是否有效

 

组件是否安装

 
isComponentInstalled("{6B 053A 4B-A7EC-4D3D-4567-B8FF 8A 1A 5739}", "componentID"))

检查网页是否存在

 

function CheckURL(URL)
{
  var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  xmlhttp.Open("GET",URL, false);
  try
  { 
    xmlhttp.Send(); 
    var result = xmlhttp.status;
  }
  catch(e) {return(false); }
  if(result==200)
  { 
    return true;
  }
  xmlhttp = null;
  return false;
}

连接数据库

 

<script language="javascript">
  //
 JavaScript 写服务器端连接数据库的代码示例
  var conn = new ActiveXObject("ADODB.Connection");
  conn.Open("Provider=SQLOLEDB.1; Data Source=localhost; User ID=sa; "
    +"Password=; Initial Catalog=pubs");
  var rs = new ActiveXObject("ADODB.Recordset");
  var sql="select * from authors";
  rs.open(sql, conn);
 shtml = "<table width='100%' border=1>";
 shtml +="<tr bgcolor='#f 4f 4f 4'><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="<<
 第一条记录" οnclick="xmldate.recordset.moveFirst()">
<input id="prev" TYPE=button value="<
上一条记录" οnclick="xmldate.recordset.movePrevious()">  
<input id="next" TYPE=button value="
下一条记录>" οnclick="xmldate.recordset.moveNext()">  
<input id="last" TYPE=button value="
最后一条记录>>" οnclick="xmldate.recordset.moveLast()">   
<input id="Add" TYPE=button value="
添加新记录" οnclick="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
220</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;
}

 

http://www.itpub.net/attachment.php?s=&postid=1894598
http://www.wrclub.net/down/listdown.aspx?id=1341

//操作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: #F 8F 8F 5;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.οnmοuseοver=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

 

//判断键值

禁止FSO

 

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


//
省略号

 

//检测media play版本

 

//图象按比例

 

细线SELECT

 

 

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"
οnclick="alert('click');"
οnmοuseοver="this.style.color='#0000FF';"
οnmοuseοut="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"
οnclick="fnMerge()"
>


 

<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
枚举

 

<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)">

 

<IE:clientCaps ID="oClientCaps" style="{behavior:url(#default#clientcaps)}" />
<SCRIPT>
var flash="";
    WMPVersion= oClientCaps.getComponentVersion("{22D 6F 312-B 0F 6-11D0-94AB -0080C 74C 7E95}","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>

 

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

<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>

doc = new ActiveXObject("Msxml2.DOMDocument");
doc = new ActiveXObject("Microsoft.XMLDOM")
->>
doc = (new DOMParser()).parseFromString(sXML,'text/xml')

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>

//readyStatexmlhttp返回数据的进度,0=载入中,1=未初始化,2=已载入,3=运行中,4=完成

(1)拖拽访问
event.dataTransfer.setData("URL", oImage.src);
sImageURL = event.dataTransfer.getData("URL")
(2)
普通访问
window.clipboardData.setData("Text",oSource.innerText);
window.clipboardData.getData("Text");

<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>

<p  style="page-break-after:always">page1</p>  
<p  style="page-break-after:always">page2</p>  

<meta name="ROBOTS" content="属性值">
  其中属性值有以下一些:
  属性值为"all"文件将被检索,且页上链接可被查询;
  属性值为"none"文件不被检索,而且不查询页上的链接;
  属性值为"index"文件将被检索;
  属性值为"follow"查询页上的链接;
  属性值为"noindex"文件不检索,但可被查询链接;
  属性值为"nofollow"

<object id=min classid="clsid:ADB 880A 6-D8FF-11CF-9377-00AA003B 7A 11"
<param name="Command" value="Minimize"></object> 
<object id=max classid="clsid:ADB 880A 6-D8FF-11CF-9377-00AA003B 7A 11"
<param name="Command" value="Maximize"></object> 
<OBJECT id=close classid="clsid:adb 880a 6-d8ff-11cf-9377-00aa003b 7a 11"
<PARAM NAME="Command" value="Close"></OBJECT> 
<input type=button value=
最小化 οnclick=min.Click()> 
<input type=button value=
最大化 οnclick=max.Click()> 
<input type=button value=
关闭 οnclick=close.Click()> 

<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<META HTTP-EQUIV="expires" CONTENT="0">

 

<input type=button value=导入收藏夹 οnclick="window.external.ImportExportFavorites(true,'http://localhost');">
<input type=button value=
导出收藏夹 οnclick="window.external.ImportExportFavorites(false,'http://localhost');">
<input type=button value=
整理收藏夹 οnclick="window.external.ShowBrowserUI('OrganizeFavorites', null)">
<input type=button value=
语言设置   οnclick="window.external.ShowBrowserUI('LanguageDialog', null)">
<input type=button value=
加入收藏夹 οnclick="window.external.AddFavorite('http://www.google.com/', 'google')">
<input type=button value=
加入到频道 οnclick="window.external.addChannel('http://www.google.com/')">
<input type=button value=
加入到频道 οnclick="window.external.showBrowserUI('PrivacySettings',null)">

<input type=text οnkeypress="return event.keyCode>=48&&event.keyCode<=57||(this.value.indexOf('.')<0?event.keyCode==46:false)" οnpaste="return !clipboardData.getData('text').match(//D/)" οndragenter="return false">

 

JavaScriptC# Windows应用程序交互

一、建立网页





 
 function messageBox(message)
 {
    alert(message);
 }
 





       javascript
访问C#代码



二、建立Windows应用程序

1. 创建Windows应用程序项目

2. Form1窗体中添加WebBrowser控件

3. Form1类的上方添加

[System.Runtime.InteropServices.ComVisibleAttribute(true)]

这是为了将该类设置为com可访问。如果不进行该声明将会出错。出错信息如下图所示:

如:

[System.Runtime.InteropServices.ComVisibleAttribute(true)]

public partial class Form1 : Form

4.初始化WebBrowserUrlObjectForScripting两个属性。

Url属性:WebBrowser控件显示的网页路径

ObjectForScripting属性:该对象可由显示在WebBrowser控件中的网页所包含的脚本代码访问。

Url属性设置为需要进行操作的页的URL路径。

JavaScript通过window.external调用C#公开的方法。即由ObjectForScripting属性设置的类的实例中所包含的公共方法。具体设置例子如下:

System.IO.FileInfo file = new System.IO.FileInfo("index.htm");

// WebBrowser控件显示的网页路径

webBrowser1.Url = new Uri(file.FullName);

// 将当前类设置为可由脚本访问

webBrowser1.ObjectForScripting = this;

5C#调用JavaScript方法

通过WebBrowser类的Document属性中的InvokeScript方法调用当前网页的Javascript方法。如:

// 调用JavaScriptmessageBox方法,并传入参数

object[] objects = new object[1];

objects[0] = "C#访问JavaScript脚本";

webBrowser1.Document.InvokeScript("messageBox", objects);

完整代码如下:

[System.Runtime.InteropServices.ComVisibleAttribute(true)]

public partial class Form1 : Form
{

 public Form1()

{

        InitializeComponent();

        System.IO.FileInfo file = new System.IO.FileInfo("index.htm");

 // WebBrowser
控件显示的网页路径

        webBrowser1.Url = new Uri(file.FullName);

 // 
将当前类设置为可由脚本访问

        webBrowser1.ObjectForScripting = this;

    }



 private void button1_Click(object sender, EventArgs e)

{

 // 
调用JavaScriptmessageBox方法,并传入参数

 object[] objects = new object[1];

        objects[0] = "C#
访问JavaScript脚本";

        webBrowser1.Document.InvokeScript("messageBox", objects);

    }

 // 
提供给JavaScript调用的方法

 public void MyMessageBox(string message)

{

        MessageBox.Show(message);
    }
}

javascript event 事件解析

javascript event 事件解析
描述 event代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等。 event对象只在事件发生的过程中才有效。  event的某些属性只对特定的事件有意义。比如,fromElement toElement 属性只对 onmouseover   onmouseout 事件有意义。 例子 下面的例子检查鼠标是否在链接上单击,并且,如果shift键被按下,就取消链接的跳转。 < HTML>
<HEAD><TITLE>Cancels Links</TITLE>
<SCRIPT LANGUAGE="JScript">
function cancelLink() {
if (window.event.srcElement.tagName == "A" && window.event.shiftKey)
window.event.returnvalue = false;
}
</SCRIPT>
< BODY οnclick="cancelLink()">
下面的例子在状态栏上显示鼠标的当前位置。 < BODY οnmοusemοve="window.status = ’X=’ + window.event.x + ’ Y=’ + window.event.y">
属性: altKey, button, cancelBubble, clientX, clientY, ctrlKey, fromElement,  keyCode, offsetX, offsetY, propertyName, returnvalue, screenX, screenY, shiftKey, srcElement, srcFilter, toElement, type, x, y -------------------------------------------------------------------------------- 1.altKey
描述:
检查alt键的状态。 语法:
event.altKey
可能的值:
alt键按下时,值为 TRUE ,否则为 FALSE 。只读。
2.button
描述:
检查按下的鼠标键。 语法:
event.button
可能的值:
0
没按键
1
按左键
2
按右键
3
按左右键
4
按中间键
5
按左键和中间键
6
按右键和中间键
7
按所有的键 这个属性仅用于onmousedown, onmouseup, onmousemove 事件。对其他事件,不管鼠标状态如何,都返回 0(比如onclick)。 3.cancelBubble
描述:
检测是否接受上层元素的事件的控制。 语法:
event.cancelBubble[ = cancelBubble]
可能的值:
这是一个可读写的布尔值: TRUE 不被上层原素的事件控制。
FALSE
允许被上层元素的事件控制。这是默认值。 例子:
下面的代码片断演示了当在图片上点击(onclick)时,如果同时shift键也被按下,就取消上层元素(body)上的事件onclick所引发的showSrc()函数。 <SCRIPT LANGUAGE="JScript">
function checkCancel() {
if (window.event.shiftKey)
window.event.cancelBubble = true;
}
function showSrc() {
if (window.event.srcElement.tagName == "IMG")
alert(window.event.srcElement.src);
}
</SCRIPT>
<BODY οnclick="showSrc()">
<IMG οnclick="checkCancel()" SRC="sample.gif">
4.clientX
描述:
返回鼠标在窗口客户区域中的X坐标。 语法:
event.clientX
注释:
这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置。
5.clientY
描述:
返回鼠标在窗口客户区域中的Y坐标。 语法:
event.clientY
注释:
这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置。
6.ctrlKey
描述:
检查ctrl键的状态。 语法:
event.ctrlKey
可能的值:
ctrl键按下时,值为 TRUE ,否则为 FALSE 。只读。
7.fromElement
描述:
检测 onmouseover onmouseout 事件发生时,鼠标所离开的元素。 参考:18.toElement 语法:
event.fromElement
注释:
这是个只读属性。
8.keyCode
描述:
(请参考 http://www.joyist.com/forum/showto ... ID=31&Forum_ID=2
检测键盘事件相对应的内码。
这个属性用于 onkeydown, onkeyup, onkeypress 事件。 语法:
event.keyCode[ = keyCode]
可能的值:
这是个可读写的值,可以是任何一个Unicode键盘内码。如果没有引发键盘事件,则该值为 0
9.offsetX
描述:
检查相对于触发事件的对象,鼠标位置的水平坐标 语法:
event.offsetX
10.offsetY
描述:
检查相对于触发事件的对象,鼠标位置的垂直坐标 语法:
event.offsetY
11.propertyName
描述:
设置或返回元素的变化了的属性的名称。 语法:
event.propertyName [ = sProperty ]
可能的值:
sProperty
是一个字符串,指定或返回触发事件的元素在事件中变化了的属性的名称。
这个属性是可读写的。无默认值。 注释:
你可以通过使用 onpropertychange 事件,得到 propertyName 的值。 例子:
下面的例子通过使用 onpropertychange 事件,弹出一个对话框,显示 propertyName 的值。 <HEAD>
<SCRIPT>
function changeProp()
{
btnProp.value = "This is the new value";
} function changeCSSProp()
{
btnStyleProp.style.backgroundColor = "aqua";
}
</SCRIPT>
</HEAD>
<BODY>
<P>The event object property propertyName is
used here to return which property has been
altered.</P> <INPUT TYPE=button ID=btnProp οnclick="changeProp()"
value="Click to change the value property of this button"
onpropertychange=’alert(event.propertyName+" property has changed value")’>
<INPUT TYPE=button ID=btnStyleProp
οnclick="changeCSSProp()"
value="Click to change the CSS backgroundColor property of this button"
onpropertychange=’alert(event.propertyName+" property has changed value")’>
</BODY>
12.returnvalue
描述:
设置或检查从事件中返回的值 语法:
event.returnvalue[ = Boolean]
可能的值:
true
事件中的值被返回
false
源对象上事件的默认操作被取消 例子见本文的开头。
13.screenX
描述:
检测鼠标相对于用户屏幕的水平位置 语法:
event.screenX
注释:
这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置。
14.screenY
描述:
检测鼠标相对于用户屏幕的垂直位置 语法:
event.screenY
注释:
这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置。
15.shiftKey
描述:
检查shift键的状态。 语法:
event.shiftKey
可能的值:
shift键按下时,值为 TRUE ,否则为 FALSE 。只读。
16.srcElement
描述:
返回触发事件的元素。只读。例子见本文开头。 语法:
event.srcElement
17.srcFilter
描述:
返回触发 onfilterchange 事件的滤镜。只读。 语法:
event.srcFilter
18.toElement
描述:
检测 onmouseover onmouseout 事件发生时,鼠标所进入的元素。 参考:7.fromElement 语法:
event.toElement
注释:
这是个只读属性。 例子:下面的代码演示了当鼠标移到按钮上时,弹出一个对话框,显示“mouse arrived” <SCRIPT>
function testMouse(oObject) {
if(oObject.contains(event.toElement)) {
alert("mouse arrived");
}
}
</SCRIPT>
:
<BUTTON ID=oButton οnmοuseοver="testMouse(this)">Mouse Over This.</BUTTON>
19.type
描述:
返回事件名。 语法:
event.type
注释:
返回没有“on”作为前缀的事件名,比如,onclick事件返回的typeclick
只读。
20. x
描述:
返回鼠标相对于css属性中有position属性的上级元素的x轴坐标。如果没有css属性中有position属性的上级元素,默认以BODY元素作为参考对象。 语法:
event.x
注释:
如果事件触发后,鼠标移出窗口外,则返回的值为 -1
这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置。
21. y
描述:
返回鼠标相对于css属性中有position属性的上级元素的y轴坐标。如果没有css属性中有position属性的上级元素,默认以BODY元素作为参考对象。 语法:
event.y
注释:
如果事件触发后,鼠标移出窗口外,则返回的值为 -1
这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置。 

javascriptasp变量互传

javascriptasp变量互传
javascript --> asp:
<script language="javascript">
i="1234567";
document.form1.num.value=i;
<body>
<form name="form1">
<input name="num" type="hidden">
</form>
</body>
<% num=trim(request.form("num")) %>

asp --> javascript:
<body>
<%
dim aa
i = "1234567"
%>
<script language="javascript">
var a;
a='<%=i%>';
alert(a);
</script>
</body> 

javascript检查输入函数备忘

在做添加班级游添加相约同游板块的时候,用户输入的姓名,人数,预算等内容需要在验证后才能够提交给数据库,所以需要对输入进行检查。
1
、我在图书馆借的书上的方法是把输入的内容传递给另外一个asp页面,在新的页面上进行检查。这种方法需要额外的asp页面,而且好像是在服务期端运行检查程序,比较耗费资源。
2
dw自动生成的代码使用javascript进行验证,相对要好一些,脚本在客户端执行

由于本人并不熟悉javascript,虽然用过,但是早就忘记了,在编写的时候就把以前管理学院网页设计大赛作品中的拷贝下来然后修改。使用的过程中学到了一些东西,记录如下:

第一:脚本写在
<script language="JavaScript" type="text/JavaScript">
<!--
......
//-->
</script>
之间,这样定义比较全面,而且加上的注释符号好像可以避免某种错误(以前在某本书上好像看到过)

第二:定义变量时,这种格式
var title=document.newTrip.title.value;
这里newTrip是要进行检查的表单的名称

第三:判断一个输入的内容是不是数字的时候,使用如下的代码
if(personNum.match(/[^0-9]/))
 {
 alert("
参加人数应是数字!");
 return false;
 }
if(parseFloat(personNum)<1 || parseFloat(personNum)>50)
 {
 alert("
参加人数应在1~50之间!");
 return false;
 } 
这里personNum是要进行检查的变量的名字;parseFloat的作用是把presonNum转化成浮点类型的数字。
在这个时候,应当给文本框设置一个初始值,如果文本框没有设置初始值而用户又没有填写的话,这两个判断语句就失效了,原因我就不管啦,呵呵。

JavaScript实际应用:简单二级联动菜单实现

<form name="frm">
<select name="s1" onChange="redirec(document.frm.s1.options.selectedIndex)">
 <option selected>
请选择</option>
 <option value="1">
脚本语言</option>
 <option value="2">
高级语言</option>
 <option value="3">
其他语言</option>
</select>

<select name="s2">
 <option value="
请选择" selected>请选择</option>
</select>
</form>


<script language="javascript">
//
获取一级菜单长度
var select1_len = document.frm.s1.options.length;
var select2 = new Array(select1_len);

//把一级菜单都设为数组
for (i=0; i<select1_len; i++)
{
 select2[i] = new Array();
}

//定义基本选项
select2[0][0] = new Option("
请选择", " ");

select2[1][0] = new Option("PHP", " ");
select2[1][1] = new Option("ASP", " ");
select2[1][2] = new Option("JSP", " ");

select2[2][0] = new Option("C/C++", " ");
select2[2][1] = new Option("Java", " ");
select2[2][2] = new Option("C#", " ");

select2[3][0] = new Option("Perl", " ");
select2[3][1] = new Option("Ruby", " ");
select2[3][2] = new Option("Python", " ");

//联动函数
function redirec(x)
{
 var temp = document.frm.s2; 
 for (i=0;i<select2[x].length;i++)
 {
  temp.options[i]=new Option(select2[x][i].text,select2[x][i].value);
 }
 temp.options[0].selected=true;

}

</script>

JavaScript应用:Iframe自适应其加载的内容高度

main.htm:

<html> 
    <head> 
       <meta  http-equiv='Content-Type'  content='text/html;  charset=gb2312' /> 
       <meta  name='author'  content='F.R.Huang(meizz
梅花雪)//www.meizz.com' /> 
       <title>iframe
自适应加载的页面高度</title> 
    </head> 
    
    <body>
        <div><iframe src="child.htm"></iframe></div>
    </body>
</html>

child.htm:

<html> 
<head> 
    <meta  http-equiv='Content-Type'  content='text/html;  charset=gb2312' /> 
    <meta  name='author'  content='F.R.Huang(meizz
梅花雪)//www.meizz.com' /> 
    <title>iframe 
自适应其加载的网页(多浏览器兼容)</title> 
    <script type="text/javascript">
    <!--
    function iframeAutoFit()
    {
        try
        {
            if(window!=parent)
            {
                var a = parent.document.getElementsByTagName("IFRAME");
                for(var i=0; i<a.length; i++) //author:meizz
                {
                    if(a[i].contentWindow==window)
                    {
                        var h1=0, h2=0;
                        a[i].parentNode.style.height = a[i].offsetHeight +"px";
                        a[i].style.height = "10px";
                        if(document.documentElement&&document.documentElement.scrollHeight)
                        {
                            h1=document.documentElement.scrollHeight;
                        }
                        if(document.body) h2=document.body.scrollHeight;

                        var h=Math.max(h1, h2);
                        if(document.all) {h += 4;}
                        if(window.opera) {h += 1;}
                        a[i].style.height = a[i].parentNode.style.height = h +"px";
                    }
                }
            }
        }
        catch (ex){}
    }
    if(window.attachEvent)
    {
        window.attachEvent("onload",  iframeAutoFit);
        //window.attachEvent("onresize",  iframeAutoFit);
    }
    else if(window.addEventListener)
    {
        window.addEventListener('load',  iframeAutoFit,  false);
        //window.addEventListener('resize',  iframeAutoFit,  false);
    }
    //-->
    </script> 
</head> 
<body>
    <table border="1" width="200" style="height: 400px; background-color: yellow">
        <tr>
            <td>iframe 
自适应其加载的网页(多浏览器兼容,支持XHTML)</td>
        </tr>
    </table>
</body> 
</html>

 很多人反应在IE7里使用它会死机,那是因为在自适应高度时触发了 window.onresize 事件,而这个事件又去调用这个调整 <iframe> 高度的函数,产生了死循环调用。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值