zoukankan      html  css  js  c++  java
  • Firefox动态ico的实现

    今天在浏览Techweb的论坛是发现,网站的ico是动态的,我开始以为这个ico直接可以做动态,google一下无果,然后就翻代码,

    <link href="favicon.ico" rel="shortcut icon" />
    <link type="image/gif" href="http://blog.techweb.com.cn/animated_favicon1.gif" rel="icon" />

    这里有两个rel, shortcut icon和 icon.google一下,在脚本之家找到了一片解读文章 http://www.jb51.net/web/44564.html

    语句一:<link rel="shortcut icon" href="favicon.ico" />
    语句二<link rel="icon" href="animated_favicon.gif" type="image/gif" />
    备注:语句一 Shortcut Icon 就是在网址列前面出现的Icon
    问题:语句二 icon的作用是怎么?和语句一有什么区别?
    指导
    过去,为保证favicon出现,网站设计者和开发者采用了多种方法。很难明确地保证favicon可以在所有电脑上显示,即使是用同一版本的一种浏览器。
    下列代码另一个局限就是它把favicon关联到了某个特定的HTML或XHTML文档上。为避免这一点,favicon.ico文件应置于根目录下。多数浏览器将自动检测并使用它。
    建议包含以下两行HTML代码:
    CODE:
    <link rel="shortcut icon" href="http://example.com/favicon.ico" type="image/vnd.microsoft.icon">
    <link rel="icon" href="http://example.com/favicon.ico" type="image/vnd.microsoft.icon">
    然而,只有第一行是必须的,因为“shortcut icon”字符串将被多数遵守标准的浏览器识别为列出可能的关键词(“shortcut”将被忽略,而仅适用“icon”);而Internet Explorer将会把它作为一个单独的名称(“shortcut icon”)。这样做的结果是所有浏览器都可以理解此代码。只有当希望为新浏览器提供另一种备用图像(例如动画GIF)时,才有必要添加第二行。
    在HTML中,link元件必须在head元件里(在<head></head>之间)。
    对于XHTML,link必须使用“ />”结束(或“></link>”),而不可以使用“>”结束。
    href可以,但不必,指向/favicon.ico的位置。它可以指向任何URL。
    图像通常可以使用任何被浏览器支持的图像格式。
    .ico文件格式通常可以被所有可以显示favicon的浏览器读取。
    设置服务器,以发送正确的MIME标识:
    ICO 文件 image/vnd.microsoft.icon(或者亦可出于兼容性原因使用image/x-icon。然而最好使用IANA注册的MIME类型,因为多数主流浏览器现在支持它)
    GIF 文件 image/gif
    PNG 文件 image/png
    使用适当的分辨率和色深。
    ICO:包括多种分辨率(最常使用的是16×16和32×32,Mac OS X有时使用64×64和128×128)以及位深(比特每像素)(多数使用4、8、24 bpp,即16、256和1600万色)。
    GIF: 使用16×16,256色。
    PNG: 使用16×16,256色或24位。
    注意:当favicon.ico被置于文档根目录时,将会被一些不处理link元件的浏览器找到,即使没有您的站点上没有指向它的链接。
    标准化
    Favicon功能最早由微软创设,而微软公司的Internet Explorer网页浏览器会对每一个网站都请求favicon。微软支持的link标签不遵从World Wide Web Consortium(W3C,万维网联盟)的HTML建议[1],因为:
    rel属性必须包含一个用空格作分隔符的link类型的列表,所以一个包含两词的link类型不能被遵守标准的浏览器理解。
    “.ico”文件类型(一种用于Microsoft Windows上图标的光栅格式)没有一个注册的MIME类型,而且似乎在当时也不能被多数浏览器理解。然而2003年,这一格式在IANA获得注册,其 MIME类型是image/vnd.microsoft.icon,进而消除了此问题的第一部分。
    在网站上使用保留地址(reserved location)与Architecture of the World Wide Web(互联网的结构)矛盾,同时被认为是link squatting(链接劫持)或URI squatting(URI劫持)。
    Mozilla浏览器通过一种遵从Web标准的方法添加了对favicon的支持。它采用rel="icon"并允许网络设计人员添加任何支持的图像格式的favicon。例如<link rel="icon" type="image/png" href="/path/image.png">。后来鉴于此功能将被用于所有新内容,多数浏览器都对此功能增加了支持。

    这个动态只有在firefox下才能实现, IE Chrome Opera都不能实现。但是好像也没有发送图片的请求。。。

  • 相关阅读:
    idea vue 格式化 并保存文件 宏 快捷键 ctrl+s
    IIS web.config 跨域设置 不包含 options的设置 thinkphp tp3 跨域
    vue peek 解决了 vue-template 加载 相对目录 ./components 组件内容 vscode
    base-table 加入动态slot 流程 vue2
    原码、反码、补码知识详细讲解
    巴什博奕
    Integer.bitCount() 函数理解
    el-table中的el-image预览小记
    shell 从变量中切割字符串
    QGIS,使用polygon裁剪栅格出现问题
  • 原文地址:https://www.cnblogs.com/dying/p/3120749.html
Copyright © 2011-2022 走看看