JavaScript权威设计--Window对象(简要学习笔记十三)

1.Window对象是所有客户端JavaScript特性和API的主要接入点。
Window对象中的一个重要属性是document,它引用Document对象。
JavaScript程序可以通过Document对象和它包含的Element对象遍历和管理文档。
 
2.URL中的JavaScript
在URL后面跟一个JavaScript:协议限定符。里面的代码会作为JavaScript代码进行运行,需用分号分割。
如:
<a href="javascript:alert('OK!')"></a>
 
由于<a>标签通常作用域超链接,来载入新文档。如果要用且URL不会覆盖当前文档,
可以用void操作符强制函数调用或给表达式赋予undefined值:
如:
<a href="javascript:void window.open('about:blank');"></a>
 
3.JavaScript的执行分为两个阶段:
第一阶段:载入文档内容,并执行<sacript>元素里的代码
第二阶段:文档加载完成,且脚本执行完成后,进入这个第二阶段。
这个阶段是异步的,且由事件驱动。在事件驱动阶段,Web浏览器调用事件处理程序函数。
 
4.如果想要程序相应一个事件,写一个函数,叫做"事件处理程序"或"事件监听器"或"回调",
然后注册这个函数,这样他就会在事件法发生时调用它。
大部分浏览器中的大部分时间来说,会把一个对象传递给事件处理程序作为参数,那个对象的属性提供了事件的详细信息。
如:传递给点击事件的对象,会有一个属性说明鼠标的哪个按钮被点击(在IE
中,这些事件信息被存储在全局event对象里,而不是传递给处理程序函数。)
事件处理程序的返回值有时候用来指示函数是否充分处理了事件,以及阻止浏览器执行它默认会进行的各种操作。
 
有些事件的目标是文档元素,他们会经常网上传递给文档树,这个过程叫"冒泡"。
 
如果要为一个事件注册多个事件处理函数,可以使用addEventListener()的方法,允许注册多个监听器。
如:
window.addEventListener("load",function(){.....},false);
 
该方法在IE9上才得到实现。在IE8以及之前的浏览器中,必须使用一个相似的方法,是attachEvent()
window.attachEvent("load",function(){.....});
 
5.IE里面的条件注释
为了针对IE处理不兼容性,必须按照某种方式为IE进行编码,条件引入就是一种。
在我之前的文章中有详细说明:<!--[if IE 9]>....<!end if-->
 
6.解析URL
Location 对象是 Window 对象的一个部分,可通过 window.location 属性来访问
 
 
7.浏览历史
Window独享的history属性引用的是该窗口的History对象。
History对象是用来把窗口的浏览历史用文档和文档状态的列表的形式表示。
history.back() //后退
history.forward()// 前进
history.go(-2) //后退两个历史历史记录
jQuery有history插件。
 
8.浏览器和屏幕信息
a:Window对象的navigator属性引用的是包含浏览器厂商和版本信息的Navigator对象。
例子:
<div id="example"></div>

<script>

txt = "<p>Browser CodeName: " + navigator.appCodeName + "</p>";
txt+= "<p>Browser Name: " + navigator.appName + "</p>";
txt+= "<p>Browser Version: " + navigator.appVersion + "</p>";
txt+= "<p>Cookies Enabled: " + navigator.cookieEnabled + "</p>";
txt+= "<p>Platform: " + navigator.platform + "</p>";
txt+= "<p>User-agent header: " + navigator.userAgent + "</p>";
txt+= "<p>User-agent language: " + navigator.systemLanguage + "</p>";

document.getElementById("example").innerHTML=txt;

</script>

警告:来自 navigator 对象的信息具有误导性,不应该被用于检测浏览器版本,这是因为:

  • navigator 数据可被浏览器使用者更改
  • 浏览器无法报告晚于浏览器发布的新操作系统
 
b:Window对象的screen属性引用的是Screen对象。
 
9.对话框
Window对象提供了三种方法用来向用户简单显示的对话框
alert()
comfirm()
prompt()
这三个方法都会产生阻塞。
还有一种更加复杂的方法showModalDialog()
 

posted on 2015-09-24 22:39 qize 阅读(...) 评论(...) 编辑 收藏

导航

公告