鱼C论坛

 找回密码
 立即注册
查看: 5233|回复: 24

[庖丁解牛] 0 0 1 3 - 页面#根元素属性html 之 lang & mainfest属性

[复制链接]
发表于 2017-1-10 19:56:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 不二如是 于 2021-8-11 09:11 编辑

12,我们知道了HTML的基础:标签属性

所谓的页面根元素,就是:

在HTML文档中,元素<html>代表了文档的根,其他所有的元素都是在该元素的基础上进行延伸或拓展的。

该元素也是HTML文档的最外层元素,因此也称为根元素。


这一帖,专攻,页面根元素html中最常用的两个属性 - lang & manifest

lang,理解为语言文件 ; manifest,理解为文档的缓存


  • lang


  • lang属性代表了网页的语言声明,通过对其设置,可以使得页面对于搜索引擎和浏览器更加兼容。

    可以设置语言代码,来声明页面语言:
    1. <html lang="en"> 英文
    2. <html lang="zh-CN">中文
    3. <html lang="fr">法文
    复制代码


  • manifest

  • Snip20170110_131.png


    manifest属性,是HTML5新加入的。

    对于离线页面缓存,简直是好用的不要不要的!

    为啥这么说,因为manifest有一个牛X的特点:

    一旦设置后,便会将需要缓存的文件保存在本地

    这样用户,下一次访问时,即便是在没有网的情况下,也能正常访问页面内容。

    manifest 文件可分为三个部分:

    CACHE MANIFEST - 在此标题下列出的文件将在首次下载后进行缓存

    NETWORK - 在此标题下列出的文件需要与服务器的连接,且不会被缓存

    FALLBACK - 在此标题下列出的文件规定当页面无法访问时的回退页面(比如 404 页面)

    我们只举一个简单CACHE MANIFEST的例子,先创建一个HTML页面。

    然后,设置html元素的manifest属性值为“first_cache.manifest”

    这个值,对应了将要创建的manifest文件的名称。代码如下:
    1. <!doctype html>
    2. <html manifest="first_cache.manifest">
    3. <head>
    4.         <title>一起测试manifest缓存</title>
    5.         <link href="css.css" rel="stylesheet">
    6. </head>
    7. <body></body>
    8. </html>
    复制代码


    在创建一个css.css样式文件,定义背景色为最性感的粉色,忘了颜色大全表,请点这里
    1. body{
    2.         background:#FF0088;
    3. }
    复制代码


    别忘了,放在一个文件夹:
    Snip20170110_133.png


    接下来,通过创建html属性中指定的first_cache.manifest文件,来使浏览器能够缓存css.css文件

    创建first_cache.manifest文件,代码如下:
    1. CACHE MANIFEST
    2. #修改时间:2016-1-10 20:22
    3. CACHE:
    4. css.css
    复制代码


    第一行,是manifest文件的声明。

    第二行,是一段以‘#’开头的注释,表明版本或者修改时间。

    第三行,”CACHE“是对需要缓存的文件的声明。

    第四行,为缓存的文件列表,声明了css.css文件作为缓存的对象。

    记住:当有多个文件,每一个文件路径都需要各占一行

    看一下,最终路径中的文件:
    Snip20170110_137.png


    点击,html文件启动:
    Snip20170110_135.png


    看到这幅图,意味着,HTML、CSS、manifest文件上传到服务器。

    我们可以查看浏览器是否已经缓存了,用Chrome为例,选择菜单项-视图-开发者-开发者工具
    Snip20170110_136.png


    可以看到,三个文件都被浏览器缓存了:
    Snip20170110_140.png


    现在不管怎么改css文件中颜色,换成#FFFFFF,页面颜色都不会变化。

    只有修改manitest文件中的,时间或者文件版本

    现在随便改下时间,然后刷新,颜色变了。

    当然了,这些都只是皮毛,留给你自己深入学习了



刮刮乐:

本地使用manifese无法成功,请见置顶贴正解


这位鱼油,如果喜欢本帖子,请订阅 专辑-->传送门)(不喜欢更要订阅


官方 Web 课程:

评分

参与人数 4荣誉 +19 鱼币 +19 贡献 +10 收起 理由
睦ちゃん她爹 + 4 + 4 + 3 感谢楼主无私奉献!
微末非末 + 5 + 5 + 3 这个故事告诉我们看帖先看评论
joker11111 + 5 + 5 + 2 支持楼主!
alltolove + 5 + 5 + 2 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-2-14 00:37:58 | 显示全部楼层
本帖最后由 joker11111 于 2017-2-14 00:39 编辑

蜜汁尴尬,manifest似乎用不了

环境是:win7+chrome

chrome浏览器F12后似乎没有出现缓存的first_cache.manifest文件,断网后修改颜色,依然可以显示
11.jpg

看W3c上的解释:
44.jpg
在想是不是需要在服务器上配置,貌似并没有服务器的权限

也看到博客有人说缓存成功,chrome浏览器F12后console会有缓存信息,如下图,依旧没有找到
博客地址:http://blog.csdn.net/tsxw24/article/details/8315672
55.jpg


有点费解,留坑一枚,待弄清再填

也期待有会的朋友解疑答惑,灰常感谢


点评

我很赞同!: 5.0
我很赞同!: 5
留的’Bug‘被你发现了!  发表于 2017-2-14 07:58

评分

参与人数 1荣誉 +10 鱼币 +10 贡献 +5 收起 理由
不二如是 + 10 + 10 + 5 彩蛋被你发现了~

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-19 09:13:46 | 显示全部楼层
不二如是 发表于 2017-2-14 08:00
哈哈,我当时故意搭的服务器,做出来manifest效果

本地单机是无法实现滴!

服务器,搭建个tomcat?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-1-11 15:14:06 | 显示全部楼层
这么复杂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-1-11 16:13:40 | 显示全部楼层

manifest主要适用于不依赖网络,且下载后不需要更行的地方
像,HTML5的游戏、应用界面等。

而现在,比起没网,大家99%会有网!
所以,了解下就好,有需求知道去哪里找就行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-14 08:00:23 | 显示全部楼层
joker11111 发表于 2017-2-14 00:37
蜜汁尴尬,manifest似乎用不了

环境是:win7+chrome


哈哈,我当时故意搭的服务器,做出来manifest效果

本地单机是无法实现滴!

另外被joker这么优质的学习帖‘震’到了!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-14 08:31:50 | 显示全部楼层
不二如是 发表于 2017-2-14 08:00
哈哈,我当时故意搭的服务器,做出来manifest效果

本地单机是无法实现滴!

哈哈哈哈,感觉要玩大家来找茬了,你只管写,我只管找茬

自己搭的服务器,崇拜崇拜,还不知道服务器是什么鬼呢,自己简直弱爆了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-14 08:41:27 | 显示全部楼层
joker11111 发表于 2017-2-14 08:31
哈哈哈哈,感觉要玩大家来找茬了,你只管写,我只管找茬

自己搭的服务器,崇拜崇 ...

其实超级简单~

留个悬念,后面肯定会介绍到

欢迎提供更多优质回复!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-4 16:55:30 | 显示全部楼层
表示打开后 重新修改css颜色  界面还是改变了,,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-15 16:31:58 | 显示全部楼层
manifest 修改之后页面要刷新两次 很不友善
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-15 16:36:56 | 显示全部楼层
还有就是出现了个请求 favicon.ico 的bug
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-15 16:39:34 | 显示全部楼层
会魔法的魔法 发表于 2017-3-15 16:36
还有就是出现了个请求 favicon.ico 的bug

见4#,置顶帖
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-19 09:48:01 | 显示全部楼层
交作业
  1. <!DOCTYPE html>        <!--在HTML文档中,元素<html>代表了文档的根,其他所有的元素都是在该元素的基础上进行延伸或拓展的。-->
  2. <html lang="en" manifest="first_ManifestCace.appcache"><!--页面根元素html中最常用的两个属性 - lang & manifest。lang,理解为语言文件 ; manifest,理解为文档的缓存-->
  3. <!--重要的提示:以 "#" 开头的是注释行,但也可满足其他用途。应用的缓存会在其 manifest 文件更改时被更新。如果您编辑了一幅图片,或者修改了一个 JavaScript 函数,这些改变都不会被重新缓存。更新注释行中的日期和版本号是一种使浏览器重新缓存文件的办法。-->
  4. <!--first_ManifestCace.appcache文件解释说明:
  5.         第一行,是manifest文件的声明。
  6.         第二行,是一段以‘#’开头的注释,表明版本或者修改时间。
  7.         第三行,”CACHE“是对需要缓存的文件的声明。
  8.         第四行,为缓存的文件列表,声明了css.css文件作为缓存的对象。-->
  9. <link rel="stylesheet" href="0009CSS.css">
  10. <head>
  11.         <meta charset="UTF-8">
  12.         <title>测试manifest离线缓存</title>
  13. </head>
  14. <body>
  15.         <div id="container">
  16.                 <h1>我爱鱼C</h1>
  17.                 <p>让编程改变世界!<br/>Change the world by program!</p>
  18.                 <a href="http://www.fishc.com/" id="first_Js">传送门</a>
  19.                 <a href="http://bbs.fishc.com/forum.php?mod=collection&action=view&ctid=539" id="first_Js2">HTML5-庖丁解牛</a>
  20.         </div>
  21.         <script src="0008JS.js"></script>
  22. </body>
  23. </html>
复制代码
0009已缓存.jpg
0009本地期待未缓存.jpg

点评

我很赞同!: 5.0
我很赞同!: 5
  发表于 2017-4-19 09:51
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-7-13 07:23:01 | 显示全部楼层
继续学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-9 10:13:47 | 显示全部楼层
这是不是意味着缓存实验失败了?
360截图-71634156.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-22 19:22:40 | 显示全部楼层
这个故事告诉我们看帖先看评论
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-13 10:49:08 | 显示全部楼层
微末非末 发表于 2018-2-22 19:22
这个故事告诉我们看帖先看评论

是的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-29 16:04:16 | 显示全部楼层
都一年前了亲
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-21 20:07:12 | 显示全部楼层
joker11111 发表于 2017-2-14 00:37
蜜汁尴尬,manifest似乎用不了

环境是:win7+chrome

那个,能解释的再明白点吗?


初学者,不明白

谢谢你
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-29 15:45:39 | 显示全部楼层
刮刮乐刮出来个错字,不是manifest吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-26 08:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表