JavaScript权威设计--Window对象(简要学习笔记十三)-阿里云开发者社区

开发者社区> shy丶gril> 正文

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

转载:http://www.cnblogs.com/zqzjs/p/4836826.html

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
hbase 学习(十三)集群间备份原理
 集群建备份,它是master/slaves结构式的备份,由master推送,这样更容易跟踪现在备份到哪里了,况且region server是都有自己的WAL 和HLog日志,它就像mysql的主从备份结构一样,只有一个日志来跟踪。一个master集群可以向多个slave集群推送,收到推送的集群会覆
1807 0
JAVA多线程高并发学习笔记(三)——Callable、Future和FutureTask
为什么要是用Callable和Future Runnable的局限性 Executor采用Runnable作为基本的表达形式,虽然Runnable的run方法能够写入日志,写入文件,写入数据库等操作,但是它不能返回一个值,或者抛出一个受检查的异常,有些需要返回值的需求就不能满足了。
1342 0
读书笔记 之《Thinking in Java》(对象、集合、异常)
一、前言     本来想看完书再整理下自己的笔记的,可是书才看了一半发现笔记有点多,有点乱,就先整理一份吧,顺便复习下前面的知识,之后的再补上。     真的感觉,看书是个好习惯啊,难怪人家说“书籍是人类进步的阶梯”。
991 0
使用Keras进行深度学习:(三)使用text-CNN处理自然语言(上)
欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习、深度学习的知识! 上一篇文章中一直围绕着CNN处理图像数据进行讲解,而CNN除了处理图像数据之外,还适用于文本分类。
1468 0
JavaScript Window - 浏览器对象模型
浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器“对话”。 浏览器对象模型 (Browser Object Model) 尚无正式标准。
899 0
Django学习笔记----环境搭建基于Windows
Django学习笔记之环境搭建 Django: 1.18 Python: 3.6 Windows 10 Django安装 环境依赖 Anaconda 推荐安装Anaconda, 安装Anaconda后可以使用它的Navigator方便管理各个包...
1453 0
SAS学习笔记之《SAS编程与数据挖掘商业案例》(4)DATA步循环与控制、常用全程语句、输出控制
SAS学习笔记之《SAS编程与数据挖掘商业案例》(4)DATA步循环与控制、常用全程语句、输出控制 1. 各种循环与控制 DO组 创建一个执行语句块 DO循环 根据下标变量重复执行DO和END之间的语句 DO WHILE 重复执行直到条件为假则退出循环 DO UNTIL 重复执行直到条件为真则退出循环 DO OVER 对隐含下标
1257 0
SAS学习笔记之《SAS编程与数据挖掘商业案例》(5)SAS宏语言、SQL过程
SAS学习笔记之《SAS编程与数据挖掘商业案例》(5)SAS宏语言、SQL过程 1. 一个SAS程序可能包含一个或几个语言成分: DATA步或PROC步 全程语句 SAS组件语言(SCL) 结构化查询语言(SQL) SAS宏语言 2. 宏触发:% 是一个宏语句或宏函数;&amp;是一个宏变量引用 3. 局部宏变量:一般程序定义的为宏变量。 全局
1704 0
+关注
1878
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载