本课的目的是调用目标名,本例中即窗口名yer_new_window。
既然我们已经简单的重温了一下href目标, 那么该开始学习在javascript中打开窗口.
在html中打开窗口应用极为普遍,但也有一些缺陷;用户浏览器决定窗口看起来是什么样的,你左右不了其窗口的大小及式样。幸运的是,javascript给了你这种控制权。
看一看其原由:
window.open("url","name","features");
本语句以你调用时采用的第一个参数url来打开一个窗口。这里是以url,实际中可写成"http://www.jsfan.org/basic" 或其他类似的东西。
第二个参数是窗口的名字。这就象上页中我们看到的名字,如果你打开窗口时已有一个同名窗口打开,那么url将把open语句送到原先已打开的窗口。
第三个参数,features,是一个窗口所具有的不同特征。这是个可选参数,我们先做关于头两个参数的练习。
这里是一些用javascript打开窗口的例子。
试一下点击如下三个链接看看将发生什么。注意在三个链接都打开前别先关闭其中任何一个。(下面三行文字代码在转载过程中丢失,链接也已经失效,故不可点击,以后我会修正的----jsfan注)
这是名为 javascript_1的窗口.
名为javascript_2的窗口.
这里是另一个将进入javascript_1的html页.
语句的首行:
here's a window named javascript_1.
当你点击该链接时一个名为javascript_1 的窗口打开,其中出现javascript_window_1.html的网页。由于参数features是可选的,我们先不理会它。
注意这里我是用onclick来调用打开窗口的。你大可不必将window.open()放在onclick中调用窗口,这很容易办到。一会你将看到在<script>标签中的windows.open()例子。 <br/><br/> 第二个例子与第一个几乎一样的,它只是以不同的名字打开一个窗口及调用到不同的html页中。 <br/><br/> <a href="#" onclick="window.open('javascript_window_2.html','javascript_2');">here's a window named javascript_2. <br/><br/> 第三个链接将一个新的html 页放到第一个窗口中。这是由于你要打开的窗口和第一个链接重名:都叫javascript_1. <br/><br/> <a href="#" onclick="window.open('javascript_window_3.html','javascript_1');">here's another html page going into javascript_1. <br/><br/> 妙事即将开始。我们加入第三个参数features,看看会发生什么。 <br/><br/> ok 让我们加入windows features再试试! <br/>window.open()中的第三个参数是你想要你的窗口表现的一组特性。如果你不完全确定你的参数,则以用户浏览器的缺省值替代。 <br/><br/> 然而,如果你指定了一些特性参数,则窗口将以参数设定值规定的出现。特性参数是以一组逗号分隔的序列出现的。 <br/><br/> 例如,如果你是这么写的: <br/><br/> window.open("some_url","window_name","location,menubar"); <br/><br/> 你将得到一个规定了url,窗口名及菜单条(文件,编辑条等等)的窗口。注意别在字符串中加入任何空格,这将使得有些浏览器出错。 <br/><br/> 看一下另一个例子: <br/><br/> window.open("some_url","window_name","location,height=100,width=100"); <br/><br/> 这将打开一个高宽各为100像素的窗口。再次请注意别在字符串中加空格。 <br/><br/> 这里是一组可以在字符串中引用的特性参数: <br/><br/> menubar (菜单条) <br/> 这是个在大多数软件应用中都引用的函数行。一般包括有文件,编辑及其他一些条目。 <br/><br/> status(状态条) <br/> 这是位于你的窗口下部的信息条。当你的鼠标移到一个链接上时,链接的url就在这个状态条上出现。你可以将状态条上显示的内容搬到一个滚动的marquee 中去。我不打算为你做这个示例,如果你想知道怎样做,自己设法解决! <br/><br/> scrollbars (滚动条) <br/> 当需要时允许滚动条出现。 <br/><br/> resizable (重调) <br/> 当重调参数被列出,窗口将可被重调。注意它的拼法,我就经常搞错。 <br/><br/> width (宽度) <br/> 以像素点表达的窗口宽。 <br/><br/> height(高度) <br/> 以像素点表达的窗口高。 <br/><br/> toolbar (工具条) <br/> home button, among others. <br/> 浏览器工具条,包括后退,前进钮,停止钮,以及home钮等等。 <br/><br/> location (定位区) <br/> 你可以键入url 的浏览器文本区。 <br/><br/> directories (指示区) <br/> 如netscape浏览器中所在的"what's new," "what's cool,"等等。 这里是一些不同类型窗口的示例。 <br/><br/> 一旦你搞懂了这些例子,你就可以在你的一些窗口中实现它了。现在开始学窗口的具体内容 <br/><br/>既然你已经知道如何按你自己的意愿打开窗口,那么现在开始学习怎样在窗口中操作一些事。在此之前你要学习一下javascript的文档对象模型(dom),首先,让我们学一点“基于对象的编程”。 <br/><br/> 概述基于对象的编程 <br/><br/> 基于对象的编程 - 特别是javascript版本的 - 是比较容易理解的。其主旨是信息依据对象组织。javascript其优越处之一在于其带有一内建式对象库。例如,一个窗口即一个对象。无论何时我提到一个缺省的javascript库对象,我将使用大写(window)。特定的情况(特定的窗口)将用小写。 <br/><br/> 对象都有用以描述它们的属性。窗口对象的其中一些属性是它的名字,(即状态条上的字),窗口文件的url,及窗口文件本身。(其中包括单字,图形及窗口中的超文本链接。) <br/><br/> 在javascript 中缺省的窗口对象为 window.这里你可了解你将如何获取缺省窗口的属性。 <br/><br/> var the_status = window.status; <br/><br/> 这是说:找到称为window 的status属性,将之调用到变量the_status中。窗口的status特性包含了状态条上出现的词句。你也可事先设置它,像这样: <br/><br/> window.status = "i'm monkeying around!"; <br/><br/> 这是一个使用状态条的例子。 <br/><br/> <a href="#" onmouseover="window.status='monkeys!';">who do we love? <br/><br/> 这是说:“当鼠标移动到这个链接上时,改变状态条。” <br/><br/> 对象的方法: <br/> 除了属性之外,对象还具有“方法”。“方法”是对象所知的如何运作的进程。例如,窗口知道如何打开另一些窗口: <br/><br/> window.open("url,""name,""features")。它告诉javascript用窗口的open方式来打开一个新窗口。 <br/><br/> 因而,就象上例中,一个对象的“方法”也被称为其获取一个特性的方式:对象名,周期,而后是方式。主要的不同在于方法总在其后跟随一对含有方式参数的圆括弧。甚至当方法不调用参数时,圆括弧也必须有的。还记得这个吗? <br/><br/> var italic_hippy = hippy_monkey.italics(); <br/><br/> 对啦!字符串实际上就是对象, italics()即是字符对象的参数。 <br/><br/> 你已经看了一些窗口方法的例子但还没有了解它。对话框调用alert及prompt实际上也是窗口对象的方式。如果你调用: <br/><br/> window.alert("viva la primate!"); <br/><br/> 你将看到对话框并读到“viva la primate!”我们直接能试试这个闪烁的窗口. <br/><br/> 看起来好象有点傻,更好的效果可以参看调用其它窗口。 <br/>尽管将一个窗口模糊或聚焦并没有多大意义,但有时候你确实需要将另一个窗口移到前台。为了使用javascript实现窗口之间的交流,你需要对该窗口的一个引用。 <br/><br/> 获取和使用一个窗口引用 <br/><br/> 首先,我打开一个窗口,为其赋予一个引用: <br/><br/> var new_window = window.open("hello.html","html_name","width=200,height=200"); <br/><br/> 该语句打开一个小窗口并将其赋值给变量new_window作为对该窗口的引用。变量可以包含数字和字符串,也可以包含对对象的引用,在本例中,对象是一个窗口。现在变量new_window就可以象当前窗口那样使用。你可以象对窗口调用方法那样对new_window调用方法。 <br/><br/> 下面的语句是一个对new_window调用方法的例子: <br/><br/> new_window.blur(); <br/><br/> 它实现的作用和上篇中的window.blur()一样。 <br/><br/> 现在我们看看将新窗口移到前台或移到后台的两个链接: <br/><br/> <a href="#" onmouseover="new_window.focus();">bring it forward <br/><br/> <a href="#" onmouseover="new_window.blur();">put it backward <br/>现在我们已经了解了:javascript包括缺省对象,例如窗口,对象具有用于描述对象的属性,方法用于描述对象采取行动的方法。 <br/><br/> 对象的属性页可以是对象。举例来说:窗口有一个属性叫做document,它用于引用到窗口中实际的html文件。该document属性本身就是一个对象。在谈到图象掉换(image swap)的时候,我们见到过这样的例子。你可以用下列语句作图象掉换: <br/><br/> <a href="#" onmouseover="window.document.the_image.src='button_d.gif';">change <br/><br/> 上述语句的意思是说:找到window的document属性,找到the_image的src属性并将其设置为图象button_d.gif。这样写是因为窗口(windows)是对象,窗口内的文件(documents)是对象,而文件(document)内的图象(images)页是对象。 <br/><br/> 看起来似乎很复杂,但它的结构很清楚。javascript的文档对象模型(document object model)描述了对象之间的等级关系。 <br/><br/> 在该教程中,我们只看到该等级关系的一部分。使你的网页具有精彩动感的大多数技巧都涉及到文件对象。文件对象内容非常丰富,实际上应该专门开一门教程将这个问题。在本课程中,我们 <br/>将集中谈谈窗口的其它属性。 <br/><br/> 其它窗口属性主要和分割窗口有关。 <br/><br/> 在javascript中,对分割窗口的处理方法和其它窗口是一样的。你只需利用javascript在一个出口里面修改另一个窗口外观,你可以改变各个分割窗口的样子。但你要记住,在一个窗口内 <br/>的各个分割窗口实际上被当作另外的几个窗口来对待,因为分割窗口可以再包含更小的分割窗口。也就是说,你有一个最高层的窗口,其中包含这第一级分割窗口,这个分割窗口实际上又是新的小窗口,小的窗口中又可以包含更小的分割窗口。但一般并不需将其搞得这么复杂。 <br/><br/> 下面是一个用javascript制作的分割窗口的例子。 <br/><br/> 首先,是分割窗口的窗框: <br/><br/> <frameset rows="25%,*"> <br/> <frame src="frames_example_controls.html" name="control_frame"> <br/> <frame src="blank.html" name="target_frame"> <br/> <br/><br/> 这和普通的分割窗口窗框是一样的。你要记住给窗框内的各个分割窗口命名。第一个分割窗口的名字是control_frame, 其中包含这加入了javascript的html网页。第二个分割窗口的src="#",其中什么都不包含。 <br/><br/> 接下来,我们看看control_frame窗口内的内容。以下只是其中关键的一行: <br/><br/> <a href="#" onclick="top.target_frame.document.writeln('monkey do!<br>');">monkey see <br/><br/> 执行该语句时,javascript从窗口等级的最高层开始,该层中包含着分割窗口的窗框,从中发现名叫target_frame的分割窗口,由于该分割窗口是也一个窗口,所它具有窗口的文件(document)属性。javascript找到其document属性,并调用writeln()方法。其执行结果是在文件中写出"monkey do!" 。writeln()是文件(document)对象的方法,所以我们必须写document.writeln(),而不只是 writeln()。 <br/><br/> 在上个例子中,我们用到了内置变量top,该变量永远指分割窗口最高层次的浏览器窗口。如果你计划从分割窗口的最高层次开始执行命令,你就可以用top变量。 <br/><br/> 另一个内置变量是parent, 指的是包含当前分割窗口的母窗口。如果在一个窗口内有分割窗口,而在其中的一个分割窗口中又包含着分割窗口,则第2层的分割窗口可以用parent变量引用包含它的母分割窗口。 <br/></script>
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号