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()
 

JavaScript权威设计--Window对象(简要学习笔记十三)的更多相关文章

  1. JavaScript权威设计--事件处理介绍(简要学习笔记十七)

    1.事件相关概念 事件类型:一个用来说明发生什么类型事件的字符串 事件目标:是发生的事件或与之相关的对象. 事件处理程序(事件监听程序):是处理货响应事件的函数. 事件对象:是与特定事件相关并且包含有 ...

  2. JavaScript权威设计--Window对象之Iframe(简要学习笔记十四)

    1.Window对象属性的文档元素(id) 如果在HTML文档中用id属性来为元素命名,并且如果Window对象没有此名字的属性,Window对象会赋予一个属性,它的名字是id属性的值,而他们的值指向 ...

  3. javascript权威指南第6版学习笔记

    javascript权威指南第6版学习笔记 javascript数组.函数是特殊对象 看一点少一点. 3.1.4 hello.js内容是 var x=.3-.2;var y=.2-.1 console ...

  4. JavaScript权威指南--window对象

    知识要点 window对象及其客户端javascript所扮演的核心角色:它是客户端javascript程序的全局对象.本章介绍window对象的属性和方法,这些属性定义了不同的API,但是只有一部分 ...

  5. 《Javascript权威指南》十六学习笔记:BOM资源---BOM基本应用

    BOM基本应用包括:管理浏览器历史记录.得到处理和解决浏览器的信息.本文介绍了这些应用程序. 一.浏览历史管理 1.history对象的方法和属性 History 对象包括用户(在浏览器窗体中)訪问过 ...

  6. JavaScript权威设计--事件冒泡,捕获,事件句柄,事件源,事件对象(简要学习笔记十八)

    1.事件冒泡与事件捕获 2.事件与事件句柄   3.事件委托:利用事件的冒泡技术.子元素的事件最终会冒泡到父元素直到跟节点.事件监听会分析从子元素冒泡上来的事件. 事件委托的好处:     1.每个函 ...

  7. JavaScript权威设计--JavaScript对象(简要学习笔记八)

    1.属性的特性 一个属性包含一个名字和4个特性.4个特性:值,可写性,可枚举性,可配置性   2.对象的三个属性 一:原型属性 要想检测一个对象是否是另一个对象的原型,使用isPrototypeOf( ...

  8. JavaScript权威设计--JavaScript对象(简要学习笔记七)

    1.with语句 语法: width(object){ statement } with语句可用于临时扩展作用域链.作用域链可以按序检索的对象列表,通过它可以进行变量名解析. with将object添 ...

  9. JavaScript权威设计--JavaScript表达式与运算符,语句(简要学习笔记六)

    1.delete是一元操作符,用来删除对象属性或者元素. var a={ x:1, y:2 } delete a.x; //删除x属性 “x”in a //false:a对象中已经不存在x属性 ale ...

随机推荐

  1. Mapreduce的文件和hbase共同输入

    Mapreduce的文件和hbase共同输入 package duogemap;   import java.io.IOException;   import org.apache.hadoop.co ...

  2. Highcharts中国地图热力图

    最近有个项目需要将MC销量按大陆各省统计,并以中国地图人力图效果显示.由于项目一直使用Highcharts进行图表的统计,故采用Highmaps来实现. 效果如下: 1)中国各个省.直辖市.自治区: ...

  3. Ajax部分

    Ajax的概念 AJAX即"Asynchronous Javascript And XML"(异步JavaScript和XML),是一种用于创建快速动态网页的技术. 动态网页:是指 ...

  4. arcpy+PyQt+py2exe快速开发桌面端ArcGIS应用程序

    前段时间有一个项目,大体是要做一个GIS数据处理工具. 一般的方法是基于ArcObjects来进行开发,因为我对ArcObjects不太熟悉,所以就思考有没有其他简单快速的方法来做. 在查看ArcGI ...

  5. Android开发学习——动画

    帧动画> 一张张图片不断的切换,形成动画效果* 在drawable目录下定义xml文件,子节点为animation-list,在这里定义要显示的图片和每张图片的显示时长              ...

  6. 在将 varchar 值 'xinpian' 转换成数据类型 int 时失败?

    把int类型的值修改为varchar类型的值

  7. [jquery]显示隐藏div标签的几种方法

    1.$("#demo").attr("style","display:none;");//隐藏div $("#demo" ...

  8. JavaScript单线程和浏览器事件循环简述

    JavaScript单线程 在上篇博客<Promise的前世今生和妙用技巧>的开篇中,我们曾简述了JavaScript的单线程机制和浏览器的事件模型.应很多网友的回复,在这篇文章中将继续展 ...

  9. 浅谈跨域以及WebService对跨域的支持

    跨域问题来源于JavaScript的同源策略,即只有 协议+主机名+端口号 (如存在)相同,则允许相互访问.也就是说JavaScript只能访问和操作自己域下的资源,不能访问和操作其他域下的资源. 在 ...

  10. 将mvc2升级到mvc4

    万万没想到大二时候参加中国大学生计算机大赛的一个项目正是当前项目所需! 时间紧任务重,还好之前的项目稍微改改即可交付使用,但是还是缺少一些功能模块,巧合的是,缺少的这个功能模块是今年刚刚完成的基于mv ...