技术开发 频道

JavaScript学习笔记:浏览器中的JavaScript



二.SVG中的JavaScript

       SVG是一种崭露头角的基于XML的语言,用于在Web上绘制矢量图形。矢量图形不同于光栅图形(位图),它们定义的是三角形、线段及它们之间的关系,而不只是定义图像的每个像素的颜色。这样生成的图像无论大小,看起来都是相同的。随着这种语言的日益流行,矢量图形程序已经开始加入SVG导出功能。

三.BOM

       BOM由一系列相关的对象构成,window对象是整个BOM的核心,所有对象的集合都以某种方式回接到window对象。

1.       window对象

window对象表示整个浏览器窗口,但不必表示其中包含的内容。此外,window还可用于移动或调整它表示的浏览器的大小,或者对它产生其他影响。

Eg. 可用window.frames[0]window.frames[“topFrame”]来引用框架集合中的某个框架。

1) 窗口操作

moveBy(dx, dy)——把浏览器窗口相对当前位置水平移动dx个像素,垂直移动dy个像素。

moveTo(x, y)——移动浏览器窗口,使它的左上角位于用户屏幕的(x, y)处。

resizeBy(dw, dh)——相对于浏览器窗口的当前大小,把窗口的宽度调整为dw个像素,高度调整为dh个像素。

resizeTo(w, h)——把窗口的高度调整为w,高度调整为h。不能使用负数。

1)      导航和打开窗口

Eg. window.open(http://www.wrox.com/, “wroxwindow”, “height=150,width=300,top=10,left=10,resizable=yes”);

2)      系统对话框

Eg1. alert(“Hello world!”);

Eg2. comfirm(“Are you sure?”);

Eg3. propt(“What’s you name?”, “阿蜜果”);

3)      状态栏

状态栏为底部边界内的区域,用于向用户显示信息。

Eg1. window.defaultStatus = “You are surfing www.wrox.com.”;

Eg2. window.status = “hello, 阿蜜果”;

4)      时间间隔和暂停

       JavaScript支持暂停和时间间隔,这可有效地告诉浏览器应该何时执行某行代码。所谓暂停,是在指定的毫秒数后执行指定的代码。时间间隔是反复执行指定的代码,每次执行之间指定的毫秒数。

       可以用window对象的setTimeout()方法设置暂停。该方法接受两个参数,要执行的代码和在执行它之前要等待的毫秒数。第一个参数可以是代码串,也可以是函数指针。

       Eg1. setTimeout(“alert(‘Hello world!’)”, 1000);

       Eg2. setTimeout(function() {alert(“Hello world”);}, 1000);

       该函数返回一个数字暂停ID,与操作系统的进程ID相似。要取消还未执行的暂停,可调用clearTimeout()方法,并将暂停ID传递给它。如下:

       var iTimeoutId = setTimeout(“alert(‘Hello world!’)”, 1000);

       clearTimeout(iTimeoutId);

       时间间隔与暂停的运行方式相似,只是它无限次地每隔指定的时间段就重复一次指定的代码。可调用setInterval()方法设置时间间隔,它的参数和setTimeout()相同,是要执行的代码和每次执行之间等待的毫秒数。

       Eg1. setInterval(“alert(‘Hello world!’)”, 1000);

       Eg2. setInterval(function() {alert(“Hello world!”)}, 1000);

       此外,与setTimeout()类似,setInterval()方法也创建时间间隔ID,以标识要执行的代码。ClearInterval()方法可用这个ID阻止再次执行该代码。

       Eg. 

var iNum = 0; var iMax = 100; var iIntervalId = null; function incNum() { iNum++; if (iNum = iMax) { clearInterval(iIntervalId); } } iIntervalId = setInterval(incNum, 500);


     这段代码的功能是:每隔500ms,就对数字iNum进行一次增量运算,直到它达到最大值(iMax)。

5)      历史

历史是指访问过的站点的列表。处于安全原因,所有导航只能通过历史完成,不能得到浏览器历史中包含的页面的URL

Eg1. 后退一页:window.history.go(-1); 或者 history.go(-1); 或者history.back();

Eg2. 前进一页:history.go(1); 或者 history.forward();

Eg3. 查看历史中的页面数:history.length;

2.       document对象

document对象实际上是window对象的属性,因为window对象的任何属性和方法都可直接访问,所以下面代码返回“true”:

alert(window.document == document);

该对象的独特之处是它是唯一一个既属于BOM又属于DOM的对象。

Eg1. 改变框架的标题:top.document.title = “新标题”;

Eg2. 把窗口导航到新页面:document.URL = “http://www.blogjava.net/amigoxie”;

Eg3. document.links[0]访问链接;

Eg4. document.images[0]document.images[“imgHome”]访问图像;

Eg5. document.forms[0]document.forms[“frmSubscribe”]访问表单。

Eg6. var oNewWin = window.open(“about:blank”, “newwindow”, “height=150, width=300, top=10, left=10, resizable=yes”);

    oNewWin.document.open();

   oNewWin.document.write(“<html><head><title>新窗口</title></head>”);

   oNewWin.document.write(“<body>新窗口内容</body></html>”);

   oNewWin.document.close();

本例功能如下:打开空白页,然后写入新页面,写完后,调用close()方法完成显示。

3.       location对象

BOM最有用的对象之一是location对象,它是window对象和document对象的属性。location对象表示载入窗口的URL,此外,它还可以解析URL

l         hash——如果URL包含#,该方法将返回该符号之后的内容;

l         host——服务器的名字(eg. www.wrox.com);

l         hostname——通常等于host,有时会省略前面的www

l         href——当前载入的页面的完整URL

l         pathname——URL中主机后面的部分;

l         port——URL中声明的请求的端口,默认情况下,无端口信息;

l         protocol——URL中使用的协议,即双斜杠之前的部分;

l         search——执行GET请求的URL中的问号后的部分。

Eg1. location.href = “http://www.blogjava.net/amigoxie”;

Eg2. location.assign(“http://www.blogjava.net/amigoxie”);

如果不想要包含脚本的页面能从浏览器中访问,可使用replace()方法,该方法所做的操作与assign()方法一样,但它多了一步操作,即从浏览器历史中删除包含脚本的页面,这样就不能通过浏览器的BackForward按钮访问它了。

Eg3. location. Replace(“http://www.blogjava.net/amigoxie”);

Eg4. 从服务器重载当前页面:location.reload(true);

Eg5. 从缓存中重载当前页面:location.reload(false); 或者 location.reload();

4.       navigator对象

它是最早实现的BOM对象之一。它包含大量有关Web浏览器的消息。它也是window对象的属性,可以用window.navigator引用它。

它包括appNameappVersion等属性。

5.       screen对象

虽然处于安全原因,有关用户系统的大多数信息都被隐藏了,但还可以用screen对象获取某些关于用户屏幕的信息。

属性如下:

l         availHeight——窗口可以使用的屏幕的高度(以像素计),其中包括操作系统元素需要的空间;

l         availWidth——窗口可以使用的屏幕的狂赌(以像素计);

l         colorDepth——用户表示颜色的位数。大多数系统采用32位置;

l         height——屏幕的高度(以像素计);

l         width——屏幕的宽度(以像素计)。

Eg. window.resizeTo(screen.availWidth, screen.availHeight);

四.小结

       本章介绍了Web浏览器中的JavaScript,学到了BOM及它提供的各种对象。

0
相关文章