哈哈,俺又来了。
网页是的一切都是发生在一个窗口中。下面我们就来学习一
下如何控制窗口、创建窗口以及和窗口交换数据。
功能如下:控制窗口的1大小,2外观,3位置,4历史,5使
窗口相互通信。
改变窗口的位置:
什么意思呢?看下面一段代码:
<script language="JavaScript">
window.location="http://toyoolee.xicp.net";
</script>
大多数朋友都认为到了一个不同的网页,或是从一个网站到了另一个网站。其实这只是比喻,浏览器哪里也没去,而是把不同的网页载入了浏览器。这样,可以通过改变当前窗口的location属性,来改变当前URL。
当前窗口--既脚本驻留窗口,称为window。(也可以叫self)当我们用window.location时,引用的是当前窗口的location属性,这个属性决定当前窗口所显示的文件的位置。
这个挺简单,但,window.location真正强大的地方在于能够改变另外一个窗口中的内容。我们在本章会讲到的。
别着急往下看:
sample1:
<form>
<input type="button" value="go to" onClick="window.location=’newpage.htm’;">
</form>
sample2:
<a href="#" onClick="window.history.go(-1);return false;">previous</a>
<a href="#" onClick="window.history.go(1);return false;">next</a>
记得后面的return false;的功能我们已经讲过了吧?这里就不说了,记不清楚的往前翻翻看,对重新记忆有好处。这里就讲讲history。
你可以通过访问window的history对象,用最少的代码,是窗口在他的历史(用户在当前浏览器里访问过的文档序列)中前进或后退。方法就是go();
//Move back one page
window.history.go(-1)
//Move forward one page
window.history.go(1);
//Move back three pages
window.history.go(-3)
//Move forward one pages
window.history.go(3)
接下来是另外一个window的方法open();
什么话不说,看源码:
<a href="#" onClick="window.open(’size.htm’,’name’,’width=100,height=400,scrollbars=yes|no,resizable=yes|no,status=yes|no’);">
<img src="sizechart.gif" width="163" height="26" border="0"></a>
现在来问几个小问题:
onClick术语是吗?(事件处理器)
他调用了什么方法?(go();)
href属性中“#”有什么作用?(做为占位符号)
那么前面一个程序中的return false;是什么意思?(和#一起起覆盖链接的默认动作,既转向href所指定的地点。)
接下来我们来看open方法中用到了什么?
明显的看出来在open方法中有三类参数:1:’size.htm’;2:’name’;3:’width,height,scrollbars,resizable,status’
他们依次代表的是:新窗口中要载入的文件的URL,新窗口的名字(这里不是新窗口标题拦中的名字),窗口特征字符串。
下面就是这些特征字符串:
width窗口的宽px
height长
toolbar是否显示具有边准的浏览器工具栏
menubar菜单
status状态栏
scrollbar滚动条
resizable 用户是否可以调整窗口大小
看看应用:
window.open(’page.htm’,’page1’,’width=200,height=200,scrollbars");
和上一个有什么不一样呢?哦,scrollbars后面没有=yes,恩,聪明,因为他的默认值就是yes了,所以,这里可以偷个懒!
那么这样呢?:
window.open(’page.htm’,’page1’,’width=200,height=200’);
这样又是怎么样呢?:
window.open(’page.htm’,’page1’);
具体效果自己练习咯!~(说了没有用,只有自己做了,看到了效果,记忆才最深,动起手来!)
关闭窗口:
也许你会,但你想知道更全面吗?来看看:
<a href="javascript:window.close();">click here close window</a>
这个链接介绍了一中把JavaScript应用于网页的新技术。href属性并不是一个标准的URL。相反,他带有JavaScript代码。这个值由“javascript:”开始,意思是这个链接有一个FavaScript的伪协议URL,(为什么叫他是伪协议呢?因为他不是真的协议,如:http;和ftp,但作用相同,这个和伪政府不一样的!)
从本质上说,链接中的javascript告诉浏览器链接中包含JavaScript代码,浏览器将运行链接中跟在javascript;后的代码。
接下来我们用三个函数来实现这个功能:
samplefunctiong 1:
<html>
<head><title>Open that Window</title>
<script language="javascript">
funciton openWindow() {
window.open("page.htm","newwindow","width=200,height=
200,scrollbar,resizable,status");
}
</script>
</head>
<body>
<form>
<input type="button" value="open" onClick="openWindow();">
</form>
<a href="#" onClick="openWindow();return false;"><img
height="100" width="100" src="image.gif"></a>
<a href=javascript:openwindow();"><img height=100 width=100 src="image.gif"></a>
</body>
</html>
上面的脚本中有个小错误,就一个!自己找找哦!~~~很明显的。(我们现在就要开始学会找错误,要注意细节是的疏忽,粗心大意可不是一个程序员的优点哦!)
samplefunction 2:
<html>
<head>
<title>open that window</title>
<script language="javascript">
function openWindow(url) {
window.open(url,"newwindow","widht=500,height=400
,scrollbar");
}
</script>
</head>
<body>
<a href="javascript:openWindow(’page.htm’);">open</a>
</body>
这个脚本使用了参数,当然,我们也可以把窗口的名字和特
征作为参数来传递:
samplefunction 3:
<html>
<head>
<title>open that window</title>
<script language="javascript">
function openWindow(url,name,w,h) {
window.open(url,"newwindow","widht=w,height=h,scrollbar");
}
</script>
</head>
<body>
<a href="javascript:openWindow(’page.htm’,’name’,500,500’);">open</a>
</body>
关于任何应用函数是脚本更加高效,这是个很好的例子。这一讲就到这!~下面我们将回介绍远程控制。等俺抽只烟,好好看看后面的东西! |