一、iframe有哪些缺点?
iframe会阻塞主页面的Onload事件;搜索引擎的检索程序无法解读这种页面,
不利于SEO;*iframe和主页面共享连接池,而浏览器对相同域的连接有限制,
所以会影响页面的并行加载。
使用iframe之前需要考虑这两个缺点。如果需要使用iframe,
最好是通过javascript动态给iframe添加src属性值,这样可以绕开以上
两个问题。
二、如何实现浏览器内多个标签页之间的通信? (阿里)
WebSocket、SharedWorker;
也可以调用localstorge、cookies等本地存储方式;
localstorge另一个浏览上下文里被添加、修改或删除时,它都会触发一个事件,
我们通过监听事件,控制它的值来进行页面信息通信;
注意quirks:Safari 在无痕模式下设置localstorge值时会抛出
QuotaExceededError 的异常;
三、webSocket如何兼容低浏览器?(阿里)
Adobe Flash Socket 、ActiveX HTMLFile (IE) 、
基于 multipart 编码发送 XHR 、
基于长轮询的 XHR
四、页面重构怎么操作?
网站重构:在不改变外部行为的前提下,简化结构、添加可读性,
而在网站前端保持一致的行为。
也就是说是在不改变UI的情况下,对网站进行优化,在扩展的同时保持一致的UI。
对于传统的网站来说重构通常是:
表格(table)布局改为DIV+CSS
使网站前端兼容于现代浏览器(针对于不合规范的CSS、如对IE6有效的)
对于移动平台的优化
针对于SEO进行优化
深层次的网站重构应该考虑的方面
减少代码间的耦合
让代码保持弹性
严格按规范编写代码
设计可扩展的API
代替旧有的框架、语言(如VB)
增强用户体验
通常来说对于速度的优化也包含在重构中
压缩JS、CSS、image等前端资源(通常是由服务器来解决)
程序的性能优化(如数据读写)
采用CDN来加速资源加载
对于JS DOM的优化
HTTP服务器的文件缓存