WD1X.COM - 问答一下,轻松解决,电脑应用解决专家
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
注册表系统命令DOS命令Win8
存储光存储鼠标键盘
内存维修打印机维修
WinXPWin7Win11Linux
硬件综合机箱电源散热器手机数码
主板维修CPU维修键盘鼠标维修
Word教程Excel教程PowerPointWPS
网络工具系统工具图像工具
数据库javascript服务器
PHP教程CSS教程XML教程

javascript教程 - 第三课 3.2

更新时间:2005-12-30 19:26 作者:佚名点击:

  Windows特性 
  window.open()中的第三个参数是你想要你的窗口表现的一组特性。如果你不完全确定你的参数,则以用户浏览器的缺省值替代。

  然而,如果你指定了一些特性参数,则窗口将以参数设定值规定的出现。特性参数是以一组逗号分隔的序列出现的。

  例如,如果你是这么写的:

  window.open("some_url","window_name","location,menubar");

  你将得到一个规定了URL,窗口名及菜单条(文件,编辑条等等)的窗口。注意别在字符串中加入任何空格,这将使得有些浏览器出错。

  看一下另一个例子:

  window.open("some_url","window_name","location,height=100,width=100");

  这将打开一个高宽各为100像素的窗口。再次请注意别在字符串中加空格。

  这里是一组可以在字符串中引用的特性参数: 

  menubar (菜单条) 
  这是个在大多数软件应用中都引用的函数行。一般包括有文件,编辑及其他一些条目。

  status(状态条) 
  这是位于你的窗口下部的信息条。当你的鼠标移到一个链接上时,链接的URL就在这个状态条上出现。你可以将状态条上显示的内容搬到一个滚动的marquee 中去。我不打算为你做这个示例,如果你想知道怎样做,自己设法解决! 

  scrollbars (滚动条) 
  当需要时允许滚动条出现。 

  resizable (重调) 
  当重调参数被列出,窗口将可被重调。注意它的拼法,我就经常搞错。 

  width (宽度) 
  以像素点表达的窗口宽。 

  height(高度) 
  以像素点表达的窗口高。 

  toolbar (工具条) 
  Home button, among others. 浏览器工具条,包括后退,前进钮,停止钮,以及HOME钮等等。 

  location (定位区) 
  你可以键入URL 的浏览器文本区。 

  directories (指示区) 
  如Netscape浏览器中所在的"What's new," "What's cool,"等等。 

  这里是一些不同类型窗口的示例。

  一旦你搞懂了这些例子,你就可以在你的一些窗口中实现它了。

  现在开始学窗口的具体内容

  JavaScript文件目标模块 

  既然你已经知道如何按你自己的意愿打开窗口,那么现在开始学习怎样在窗口中操作一些事。在此之前你要学习一下JavaScript的文件目标模块(DOM),首先,让我们学一点“目标导向编程”。

  概述目标导向编程

  目标导向编程 - 特别是JavaScript版本的 - 是比较容易理解的。其主旨是信息依据目标组织。JavaScript其优越处之一在于其带有一内建式目标库。例如,一个窗口即一个对象。无论何时我提到一个缺省的JavaScript库对象,我将使用大写(Window)。特定的情况(特定的窗口)将用小写。

  对象都有用以描述它们的属性。窗口对象的其中一些属性是它的名字,(即状态条上的字),窗口文件的URL,及窗口文件本身。(其中包括单字,图形及窗口中的超文本链接。)

  在JavaScript 中缺省的窗口对象为 window.这里你可了解你将如何获取缺省窗口的属性。

  var the_status = window.status;

  这是说:找到称为window 的status属性,将之调用到变量the_status中。窗口的status特性包含了状态条上出现的词句。你也可事先设置它,像这样:

  window.status = "I'm monkeying around!";

  这是一个使用状态条的例子。

  状态条的操作 
  将你的鼠标放在下面两个链接上,睁大你的眼睛看看窗口下的状态条上发生了什么?

  Who do we love?
  Why do we love them?

  这里是首行的源码:

  <a href="#" onMouseOver="window.status='Monkeys!';">Who do we love?</a>

  这是说:“当鼠标移动到这个链接上时,改变状态条。”

  目标的方式
  除了属性之外,对象还具有“方式”。“方式”是对象所知的如何运作的进程。例如,窗口知道如何打开另一些窗口: window.open("URL,""name,""features")。它告诉Javascript 用窗口的open方式来打开一个新窗口。

  因而,就象上例中,一个对象的“方式”也被称为其获取一个特性的方式:对象名,周期,而后是方式。主要的不同在于方式总在其后跟随一对含有方式参数的圆括弧。甚至当方式不调用参数时,圆括弧也必须有的。还记得这个吗?

  var italic_hippy = hippy_monkey.italics();

  对啦!字符串实际上就是对象, italics()即是字符对象的参数。 

  你已经看了一些窗口方式的例子但还没有了解它。对话框调用alert及prompt实际上也是窗口对象的方式。如果你调用:

  window.alert("Viva la primate!");

  你将看到对话框并读到“Viva la primate!”我们直接能试试这个闪烁的窗口.

  看起来好象有点傻,更好的效果可以参看调用其它窗口。

  窗口间的交流 
  尽管将一个窗口模糊或聚焦并没有多大意义,但有时候你确实需要将另一个窗口移到前台。为了使用javascript实现窗口之间的交流,你需要对该窗口最一个引用。

  获取和使用一个窗口引用 

  首先,我打开一个窗口,为其赋予一个引用:

  var new_window = window.open("hello.html","html_name","width=200,height=200");


  该语句打开一个小窗口并将其赋值给变量new_window作为对该窗口的引用。变量可以包含数字和字符串,也可以包含对对象的引用,在本例中,对象是一个窗口。现在变量new_window就可以象当前窗口那样使用。你可以象对窗口调用方法那样对new_window调用方法。 

  下面的语句是一个对new_window调用方法的例子:

  new_window.blur();

  它实现的作用和上篇中的window.blur()一样。 

  现在我们看看将新窗口移到前台或移到后台的两个链接:

  <a href="#" onMouseOver="new_window.focus();">Bring it forward</a>

  <a href="#" onMouseOver="new_window.blur();">Put it backward</a>

  再谈JavaScript DOM 
  现在我们已经了解了:JavaScript包括缺省对象,例如窗口,对象具有用于描述对象的属性,方法用于描述对象采取行动的方法。

  对象的属性页可以是对象。举例来说:窗口有一个属性叫做 document,它用于引用到窗口中实际的HTML文件。该document 属性本身就是一个对象。在谈到图象掉换(image swap)的时候,我们见到过这样的例子。你可以用下列语句作图象掉换:

  <a href="#" onMouseOver="window.document.the_image.src='button_d.gif';">change</a>

  上述语句的意思是说:找到window的document属性,找到 the_image的src属性并将其设置为图象button_d.gif。这样写是因为窗口(windows)是对象,窗口内的文件(documents) 是对象,而文件(document)内的图象(images)页是对象。

  看起来似乎很复杂,但它的结构很清楚。JavaScript的文件对象模块(Document Object Model)描述了对象之间的等级关系。

  在该教程中,我们只看到该等级关系的一部分。使你的网页具有精彩动感的大多数技巧都涉及到文件对象。文件对象内容非常丰富,实际上应该专门开一门教程将这个问题。在本课程中,我们将集中谈谈窗口的其它属性。

  窗口的其它特性 
  其它窗口属性主要和分割窗口有关。如果你不知道如何使用分割窗口,请先阅读文章"Frames Are a Picnic." 。

  在JavaScript中,对分割窗口的处理方法和摧窗口是一样的。

  你只需利用javascript在一个出口里面修改另一个窗口外观,你可以改变各个分割窗口的样子。但你要记住,在一个窗口内的各个分割窗口实际上被当作另外的几个窗口来对待,因为分割窗口可以再包含更小的分割窗口。也就是说,你有一个最高层的窗口,其中包含这第一级分割窗口,个分割窗口实际上又是新的小窗口,小的窗口中又可以包含更小的分割窗口。但一般并不需将其搞得这么复杂。 

  下面是一个用javascript制作的分割窗口的例子。 

  首先,是分割窗口的窗框:

  <frameset rows="25%,*">
  <frame src="frames_example_controls.html" name="control_frame">
  <frame src="blank.html" name="target_frame">
  </frameset>

  这和普通的分割窗口窗框是一样的。你要记住给窗框内的各个分割窗口命名。第一个分割窗口的名字是control_frame, 其中包含这加入了javascript的HTML网页。第二个分割窗口的src="#",其中什么都不包含。 

  接下来,我们看看control_frame窗口内的内容。以下只是其中关键的一行:

  <a href="#" 
  onClick="top.target_frame.document.writeln('Monkey 
  do!<br>');">Monkey see</a>

  执行该语句时,JavaScript从窗口等级的最高层开始,该层中包含着分割窗口的窗框,从中发现名叫target_frame的分割窗口,由于该分割窗口是也一个窗口,所它具有窗口的文件(document)属性。JavaScript找到其document属性,并调用writeln()方法。其执行结果是在文件中写出"Monkey do!" 。writeln()是文件(document)对象的方法,所以我们必须写document.writeln(),而不只是 writeln()。>>

  再谈Window及Frame树杈结构 

  在上个;例子中,我们用到了内置变量top,该变量永远指分割窗口最高层次的浏览器窗口。如果你计划从分割窗口的最高层次开始执行命令,你就可以用top变量。

  另一个内置变量是parent, 指的是包含当前分割窗口的母窗口。如果在一个窗口内有分割窗口,而在其中的一个分割窗口中又包含着分割窗口,则第2层的分割窗口可以用parent变量引用包含它的母分割窗口。稍有点复杂, 以下是用javascript编写的在一个分割窗口中套更小的分割窗口的例子。>>

  自己动手操作 

  在给你布置的作业中,你需要利用第2课的作业构建你的浏览器。document对象有一个属性叫做bgcolor,你可以想在HTML的body标签中设置背景色那样设置document对象的背景色,你可以用名称,如 "red," 或16进制值如"#FF0000"。

  接下来用分割窗口和必要的JavaScript编写家庭作业3。>>

  第三天复习 

  今天的课程中我们将了以下内容:窗口、分割窗口、文件对象模块(Document Object Model)和面向对象的编程。 

  其中学习了如何打开按自己的方式窗口;用JavaScript在一个窗口中影响另一个窗口;在分割窗口之间的交流;对象的属性和方法;域对象模块(Domain Object Model)。 

  浏览器窗口就是包含着其它对象的对象。了解了DOM中对象的等级关系之后,你就可以控制HTML页中的各个特性。

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
你可能感兴趣的内容