1、window对象:
ECMAScript中的全局对象:Global对象;
BOM的核心对象是:window对象,表示浏览器的一个实例;
window对象是网页中的Global对象。
2、js中如何打印对象?:
查看对象代码:Chrome + F12 + 输入对象名 + 回车;
ƒ Array() { [native code] }?
3、框架的概念:
frame与frameset,body、iframe:
frame元素不需要正常关闭;
在frame中添加代码:
使用框架(集)的目的是在同一个页面上组合显示不同的网页;
要修改框架内容,可以在框架自己的网页中修改。
每个框架有自己的window对象,指向该框架的特定实例,保存在frames集合中:
每个window对象都有一个name属性,包含框架的名称。
通过window.frames[0]或window.frames["topFrame"]来引用框架:
top.frames[0] 或top.frames["topFrame"];
frames[0]或frames["topFrame"]。
思考:
引用框架的意思就是访问该框架的window对象?
每个框架都有一个frames集合?
frames是一个数组?
在非top框架里的外部js文件中访问top对象会发生错误?:
Uncaught DOMException: Blocked a frame with origin "null" from accessing a cross-origin frame.?:
...阻止了一个域为null的frame框架访问一个跨域的frame框架;
发生场景:执行非框架中的外部js文件的alert(top.frames);语句,alert(parent.name);;
理解跨域;
可能与使用本地文件有关。
window.frames[0]?:
返回的是undefined;
即使返回所谓的框架,也就是window对象,通过window对象来访问window对象?
猜测总结:
每个框架都有一个window对象(包含top对象在内);
这个window对象有一个frames数组;
这个frames数组用于保存与当前window对象同级的所有window对象,包括自己本身和top对象。
实际操作结果参见js文件。
除非最高层窗口是通过window.open()打开,否则其window对象的name属性不会包含任何值?
所有这些对象都是window对象的属性,可以将不同层次的window对象连缀起来?:
如window.parent.parent.frames[0]。
4、href、link、src的区别。
5、框架、视口、页面视口、标签页、窗口?:
浏览器最外围边组成的矩形;
浏览器内部边组成的矩形(不包括工具栏、F12栏、滚动条)等;
窗口 新建标签页
窗口有名称 top
6、标准模式与混杂模式?
7、Chrome中不能使用moveTo()、moveBy();resizeTo()、resizeBy()方法?
8、函数作为参数,只需要传递函数名即可:
setInterval(timeCount(),1000);:不会得到想要效果,实际上此时是以函数执行完毕的返回值作为参数;
setInterval(timeCount,1000);。
9、URL详解:
hash...
10、location.assign("file:///F:/webwork/JavaScript/_01_js.html"):
访问本地html文件不会在浏览器的历史记录里添加记录?
11、window对象之间的通信:
Chrome会在独立的进程中运行每个标签页;
浏览器新建两个标签页,这两个window对象间如何通信?
top对象在任何时候都指的是浏览器窗口?
12、浏览器历史记录的更新取决于什么?
页面的URL改变时,改变包括URL中hash的变化;
设置location.hash会在浏览器中生成一条新的历史记录。
13、每个插件对象本身也是一个MimeType对象的数组?
14、IE不支持Netscape式的插件?:
IE中的navigator.plugin数组比较特殊?
插件的概念;
IE是以COM对象的方式实现插件的,而COM对象使用唯一标示符来标识?
15、注册处理程序?:
RSS阅读器;
现在的发展。
16、for/in遍历navigator.plugins数组的一个bug?
17、history对象:
每个浏览器窗口、标签页、框架,都有自己的history对象?;
对于加载到窗口、标签页、框架中的第一个页面,history.length=0 (Chrome)。
18、了解浏览器。
浙公网安备 33010602011771号