日常知识点复习(三)

126 阅读3分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

大家好,我是不孤独的百年,周末时间持续整理一些普通的小知识点,加深记忆,积少成多嘛~~

什么是优雅降级和渐进增强

渐进增强progressive enhancement:、 针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。、

优雅降级graceful degradation: 一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。

区别:

  • a.优雅降级是从复杂的现状开始,并试图减少用户体验的供给;

  • b.渐进增强则是从一个非常基础的,能够起作用的版本开始,并不断扩充,以适应未来环境的需要;

  • c.降级(功能衰减)意味着往回看;而渐进增强则意味着朝前看,同时保证其根基处于安全地带

JavaScript 的同源策略

在客户端编程语言中,如 javascript 和 ActionScript,同源策略是一个很重要的安全理念,它在保证数据的安全性方面有着重要的意义;同源策略规定跨域之间的脚本是隔离的,一个域的脚本不能访问和操作另外一个域的绝大部分属性和方法。

那么什么叫相同域,什么叫不同的域呢?

当两个域具有相同的协议,相同的端口,相同的 host,那么我们就可以认为它们是相同的域。同源策略还应该对一些特殊情况做处理,比如限制fle 协议下脚本的访问权限。本地的HTML文件在浏览器中是通过file协议打开的,如果脚本能通过file 协议访问到硬盘上其它任意文件,就会出现安全隐患,目前IE8还有这样的隐患。

如何更新缓存

  • 1)更新manifest 文件
  • (2)通过 javascript操作
  • (3)清除浏览器缓存

注意事项:

(1)浏览器对缓存数据的容量限制可能不太一样(某些浏览器设置的限制是每个站点5MB)。

(2)如果manifest 文1A画新讨程都将失一个文件不能正常下载,整个更新过程都将失 败,浏览器继续全部使用老的缓存。

(3)引用manifest 的 html必须与manifest文件同源,在同一个域下。

(4)FALLBACK中的资源必须和manifest文件同源。

(5)当一个资源被缓存后,该浏览器直接请求这个绝对路径也会访问缓存中的资源。

(6)站点中的其他页面即使没有设置manifest属性,请求的资源如果在缓存中也从缓存中访问。

(7)当manifest文件发生改变时,资源请求本身也会触发更新。