目录
不同的浏览器对JavaScript支持的差异主要是,有些API的接口不一样,比如A JAX,File接口。对于ES6标准,不同的浏览器对各个特性支持也不一样。
在编写JavaScript的时候,就要充分考虑到浏览器的差异,尽量让同一份JavaScript代码能运行在不同的浏览器中。
JavaScript可以获取浏览器提供的很多对象,并进行操作。
window 对象不但充当全局作用域,而且表示浏览器窗口。
window 对象有innerWidth 和innerHeight 属性,可以获取浏览器窗口的内部宽度和高度。
内部宽高是指除去菜单栏、工具栏、边框等占位元素后,用于显示网页的净宽高。
对应的,还有一个outerWidth 和outerHeight 属性,可以获取浏览器窗口的整个宽高。
navigator 对象表示浏览器的信息,最常用的属性包括:
navigator 的信息可以很容易地被用户修改,所以JavaScript读取的值不一定是正确的。很多初学者为了针对不同浏览器编写不同的代码,喜欢用if 判断浏览器版本,
但这样既可能判断不准确,也很难维护代码。正确的方法是充分利用JavaScript对不存在属性返回undefined 的特性,直接用短路运算符|| 计算:
screen 对象表示屏幕的信息,常用的属性有:
location 对象表示当前页面的URL信息。例如,一个完整的URL:
可以用location.href 获取。要获得URL各个部分的值,可以这么写:
要加载一个新页面,可以调用location.assign() 。如果要重新加载当前页面,调用location.reload() 方法非常方便
document 对象表示当前页面。由于HTML在浏览器中以DOM形式表示为树形结构, document 对象就是整个DOM树的根节点。
document 的title 属性是从HTML文档中的xxx 读取的,但是可以动态改变:
要查找DOM树的某个节点,需要从document 对象开始查找。最常用的查找是根据ID和Tag Name。
我们先准备HTML数据:
用document 对象提供的getElementById() 和getElementsByTagName() 可以按ID获得一个DOM节点和按Tag名称获得一组DOM节点:
document 对象还有一个cookie 属性,可以获取当前页面的Cookie。
为了确保安全,服务器端在设置Cookie时,应该始终坚持使用httpOnly 。
history 对象保存了浏览器的历史记录,JavaScript可以调用history 对象的back() 或forward () ,相当于用户点击了浏览器的“后退”或“前进”按钮。
对于现代Web页面来说,由于大量使用A JAX和页面交互,我们都不应该会使用history 这个对象了。
原文:https://www.cnblogs.com/koudada/p/14854650.html