浏览器内多个标签页之间的通信方式有哪些 ?
- websocket 可跨域
- postMessage 可跨域
- worker的 SharedWorker
- Server-Sent Events
- localStorage
- BroadcastChannel
- Cookies
具体代码参考 实例代码
简述下你理解的优雅降级和渐进增强
渐进增强和优雅的降级这两个概念是在 css3 之后火起来的,由于低级浏览器不支持 css3,但是又不忍放弃,所以在高级浏览器中使用 css3,而低级浏览器中只保证基本功能
优雅降级
先补考虑兼容性,优先最新版本浏览器效果,之后在逐渐兼容低版本浏览器
渐进增强
考虑兼容,以较低浏览器为主,之后在逐渐增强对新版本浏览器的支持
代码中表现
在降级中优先把 css3 属性写在前面,把然后在把较低版本的 css 写在后面,增强恰好相反
写一个判断数据类型的方法
function type(obj) {
return /^\[object (\w*)]$/.test(Object.prototype.toString.call(obj)) ? RegExp.$1 : 'unknown';
}
- 注意
console.log(Object.prototype.toString.call("abc")); // [object String]
网友评论