V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Dive into HTML5
http://diveintohtml5.org/
rokeyzki
V2EX  ›  HTML

HTML 编码规范中关于“不要指定引入资源所带的具体协议”的问题

  •  
  •   rokeyzki · 2015-03-03 14:04:49 +08:00 · 4669 次点击
    这是一个创建于 3557 天前的主题,其中的信息可能已经有所发展或是发生改变。

    HTML编码规范中提到:

    不要指定引入资源所带的具体协议。

    当引入图片或其他媒体文件,还有样式和脚本时,URLs 所指向的具体路径,不要指定协议部分(http:, https:),除非这两者协议都不可用。

    不指定协议使得 URL 从绝对的获取路径转变为相对的,在请求资源协议无法确定时非常好用,而且还能为文件大小节省几个字节。

    不推荐:
    <script src="http://cdn.com/foundation.min.js"></script>

    推荐:
    <script src="//cdn.com/foundation.min.js"></script>

    遇到的问题:

    当我在本地环境使用HTML编码规范推荐的方式去编写代码,却无法获取到对应的资源文件,请问为何会出现这种情况?

    示例代码:
    <script src="//libs.baidu.com/jquery/1.10.2/jquery.min.js" async></script>

    以上。

    10 条回复    2015-03-03 18:43:59 +08:00
    abelyao
        1
    abelyao  
       2015-03-03 14:11:55 +08:00 via iPhone
    亲,你的标签写错了,async 后面就结束符了?
    abelyao
        2
    abelyao  
       2015-03-03 14:13:37 +08:00 via iPhone
    @abelyao 呃,看错了… 无视我吧
    binux
        3
    binux  
       2015-03-03 14:17:04 +08:00   ❤️ 1
    因为本地测试的直接 file:// 打开,并没有通过 http 协议传输啊
    nealnote
        4
    nealnote  
       2015-03-03 14:17:14 +08:00   ❤️ 2
    本地用的是 文件协议 file:
    你的等价于

    <script src="file://libs.baidu.com/jquery/1.10.2/jquery.min.js" async></script>

    你的电脑本地这个路径并不存在这个文件。

    应该做的是,本地起web server 跑
    shiny
        5
    shiny  
       2015-03-03 14:17:15 +08:00   ❤️ 1
    1、文件系统上直接打开HTML,这种写法不会被解析成 http
    2、而且百度的库不支持 https

    你可以在本地配置一个 http 服务器来打开,这种写法就可以用。
    ETiV
        6
    ETiV  
       2015-03-03 14:18:52 +08:00 via iPhone   ❤️ 1
    网页的 URL scheme 是不是 file://
    rokeyzki
        7
    rokeyzki  
    OP
       2015-03-03 14:21:33 +08:00
    @binux
    @nealnote
    @shiny
    @ETiV
    非常感谢以上各位,问题解决,结贴
    aliuwr
        8
    aliuwr  
       2015-03-03 15:26:22 +08:00
    可以使用 http://lib.sinaapp.com/, 支持 HTTPS.
    otakustay
        9
    otakustay  
       2015-03-03 18:25:29 +08:00
    这种写法在file://协议下某些版本IE会直接死机,所以我还是喜欢检测protocol来区分http和https,同时忽略其它协议
    ccbikai
        10
    ccbikai  
       2015-03-03 18:43:59 +08:00
    @rokeyzki 静态页面本地可以跑一个 http 服务器,方便多了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2759 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 15:26 · PVG 23:26 · LAX 07:26 · JFK 10:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.