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. 创建 OVS flat network - 每天5分钟玩转 OpenStack(134)

    上一节完成了 flat 的配置工作,今天创建 OVS flat network.Admin -> Networks,点击 "Create Network" 按钮. 显示创建页 ...

  2. spark处理大规模语料库统计词汇

    最近迷上了spark,写一个专门处理语料库生成词库的项目拿来练练手, github地址:https://github.com/LiuRoy/spark_splitter.代码实现参考wordmaker ...

  3. OVS local network 连通性分析 - 每天5分钟玩转 OpenStack(132)

    前面已经创建了两个 OVS local network,今天详细分析它们之间的连通性. launch 新的 instance "cirros-vm3",网络选择 second_lo ...

  4. NET Core-学习笔记(三)

    这里将要和大家分享的是学习总结第三篇:首先感慨一下这周跟随netcore官网学习是遇到的一些问题: a.官网的英文版教程使用的部分nuget包和我当时安装的最新包版本不一致,所以没法按照教材上给出的列 ...

  5. FineBI:一个简单易用的自助BI工具

    过去,有关企业数据分析的重担都压在IT部门,传统BI分析更多面向的是具有IT背景的人员.但随着业务分析需求的增加,很多公司都希望为业务用户提供自助分析服务,将分析工作落实到业务人员手中.但同时,分析工 ...

  6. 【干货分享】流程DEMO-离职流程

    流程名: 离职申请   流程相关文件: 流程包.xml WebService业务服务.xml WebService.asmx WebService.cs   流程说明: 流程中集成了webservic ...

  7. BPM流程中心解决方案分享

    一.需求分析 在过去办公自动化的浪潮中,很多企业已经实施了OA流程,但随着客户的发展和对流程管理的越来越重视, 客户对流程应用需求越来越深 入,您可能面临以下需求: 1.流程功能不能满足需求,包括流程 ...

  8. 嵌入式&iOS:回调函数(C)与block(OC)回调对比

    学了OC的block,再写C的回调函数有点别扭,对比下区别,回忆记录下. C的回调函数: callBack.h 1).定义一个回调函数的参数数量.类型. typedef void (*CallBack ...

  9. RunLoop 总结:RunLoop的应用场景(一)

    参考资料 好的书籍都是值得反复看的,那好的文章,好的资料也值得我们反复看.我们在不同的阶段来相同的文章或资料或书籍都能有不同的收获,那它就是好文章,好书籍,好资料.关于iOS 中的RunLoop资料非 ...

  10. IIS启动失败,启动Windows Process Activation Service时,出现错误13:数据无效 ;HTTP 错误 401.2 - Unauthorized 由于身份验证头无效,您无权查看此页

    因为修改过管理员账号的密码后重启服务器导致IIS无法启动,出现已下异常 1.解决:"启动Windows Process Activation Service时,出现错误13:数据无效&quo ...