他的属性也很丰富,因为我很懒,我就直接复制手册里的东西了:
closed | 获取引用窗口是否已关闭。 |
defaultStatus | 设置或获取要在窗口底部的状态栏上显示的缺省信息。 |
dialogArguments | 设置或获取传递给模式对话框窗口的变量或变量数组。 |
dialogHeight | 设置或获取模式对话框的高度。 |
dialogLeft | 设置或获取模式对话框的左坐标。 |
dialogTop | 设置或获取模式对话框的顶坐标。 |
dialogWidth | 设置或获取模式对话框的宽度。 |
frameElement | 获取在父文档中生成 window 的 frame或 iframe 对象。 |
length | 设置或获取集合中对象的数目。 |
name | 设置或获取表明窗口名称的值。 |
offscreenBuffering | 设置或获取对象在对用户可见之前是否要先在屏幕外绘制。 |
opener | 设置或获取创建当前窗口的窗口的引用。 |
parent | 获取对象层次中的父窗口。 |
returnValue | 设置或获取从模式对话框返回的值。 |
screenLeft | 获取浏览器客户区左上角相对于屏幕左上角的 x 坐标。 |
screenTop | 获取浏览器客户区左上角相对于屏幕左上角的 y 坐标。 |
self | 获取对当前窗口或框架的引用。 |
status | 设置或获取位于窗口底部状态栏的信息。 |
top | 获取最顶层的祖先窗口。 |
在chrome有如下提示:
返回的句子出现在导航的上方,跟IE的效果一样(如果IE没有显示,点一下允许运行脚本就好了。)。
如果是FF,则只出现上层的提示,跟我们写的那句话无关,尽管如此,我们还是要写,否则FF就没有提示了。
所以如果我们想要让它的确认框出现我们自己的东西,我尝试了许多次,发现FF无法做到用别的对话框代替它的默认框,所以我们只能默默的添加一个confirm,但是这样的话FF会有两次提示。IE和chrome都会在离开提示里输入函数的返回字符串,这一点还是不错的,以下是经过一楼的反馈后修改过的代码。
经过测试,这段代码在chrome 16.0.912.0中只显示一次提示,但在某些基于chrome的浏览器(如sunchrome)中会出现FF和chrome双重提示,我猜想是因为这些浏览器包含了其它内核,具体怎么回事就不太懂了。
总之,就全的那个联系吧~哎~
以下是上面代码在各浏览器的测试:
哈哈,怎么样,不错吧~
好,接下在就是万众期待(其实只有LZ期待吧= =+)的DOM
DOM的全称是document object model,怎么理解这个东西挺关键的,我看了不少定义,有的说它是个平台,有的说它是个接口,anyway,我打开了它的官方guide网站:http://www.w3.org/DOM/
它对DOM的定义是:
The Document Object Model is a platform- and language-neutral interface that will allow programs and scripts to dynamically access and update the content, structure and style of documents. The document can be further processed and the results of that processing can be incorporated back into the presented page.
我来简单翻译下好了:DOM是个平台/语言的中间接口,它可以允许程序和脚本动态的访问和更新内容、架构以及文件style。文件可以被进一步处理并将结果返回到显示页面。
其实这么说我看了也还是云里雾里,所以可以这么理解,DOM是个大家为了编程方便,传输速度快而统一起来的,基于树规范,它跟浏览器是没有关系的。DOM的基本思想就是树形结构,比如HTML文件,就是一个树形结构。DOM是没有跟任何语言绑定的,我们利用js可以对html dom进行动态的修改。
DOM有三个级别,可以分为:core Dom, XML DOM(*), HTML DOM三部分。中间那个是作为文档传输标准,使用很广泛的,但是这里就着重讲HTML DOM。
DOM把文档分为带有:元素、属性、文本 的树形结构,然后将这些作为结点来构造文档的树形结构,这样,就可以通过一个结点访问到所有的结点。
之前给出的那个网站(http://www.jb51.net/w3school/js/jsref_obj_string.htm)里面有比较全的DOM的玩意儿,可以用来参考,但是用来做教程还是有点生硬。
我打算先介绍节点类型,然后再对应到代码里。
节点类型介绍(复制来自http://www.jb51.net/w3schools/jsref/dom_obj_node.htm)
Node type | Description | Children | Value | Constant |
---|---|---|---|---|
Element | Represents an element | Element, Text, Comment, ProcessingInstruction, CDATASection, EntityReference | 1 | ELEMENT_NODE |
Attr | Represents an attribute | Text, EntityReference | 2 | ATTRIBUTE_NODE |
Text | Represents textual content in an element or attribute | None | 3 | TEXT_NODE |
CDATASection | Represents a CDATA section in a document (text that will NOT be parsed by a parser) | None | 4 | CDATA_SECTION_NODE |
EntityReference | Represents an entity reference | Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference | 5 | ENTITY_REFERENCE_NODE |
Entity | Represents an entity | Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference | 6 | ENTITY_NODE |
ProcessingInstruction | Represents a processing instruction | None | 7 | PROCESSING_INSTRUCTION_NODE |
Comment | Represents a comment | None | 8 | COMMENT_NODE |
Document | Represents the entire document (the root-node of the DOM tree) | Element, ProcessingInstruction, Comment, DocumentType | 9 | DOCUMENT_NODE |
DocumentType | Provides an interface to the entities defined for the document | None | 10 | DOCUMENT_TYPE_NODE |
DocumentFragment | Represents a "lightweight" Document object, which can hold a portion of a document | Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference | 11 | DOCUMENT_FRAGMENT_NODE |
Notation | Represents a notation declared in the DTD | None | 12 | NOTATION_NODE |
好,大约知道了这些之后,我们用一个小的html文件来查看DOM的树形结构:
HTML文本
当然,这个效果可以通过很多方法实现,这个只是为了学习如果通过DOM控制NODE。
补充一点:结点除了可以添加删除等外,还可以克隆,函数就是cloneNode,除了可以setAttribute外,也可以附件事件,比如这个结点有onclick之类的事件,可以使用addEvent这个函数来实现。具体我就不再写了,道理都是一样的~。