【问题标题】:External resources fail to load when using HTML5 cache使用 HTML5 缓存时无法加载外部资源
【发布时间】:2015-03-08 02:49:29
【问题描述】:

我正在尝试让应用缓存工作:

CACHE MANIFEST

/css/style.css
/js/colors.js
/js/dropzone.js
/js/jquery.min.js
/js/script.js

/img/icon_analytics.png
/img/icon_exit.png
/img/icon_expand.png
/img/icon_list.png
/img/icon_lock.png
/img/icon_menu.png
/img/icon_more_content.png
/img/icon_settings.png
/img/icon_settings_black.png
/img/svg_icons/close_fullscreen.svg
/img/svg_icons/go_fullscreen.svg
/img/loader.gif

但这是我在控制台中得到的:

GET https://www.google.com/jsapi net::ERR_FAILED
(index):517 Uncaught ReferenceError: google is not defined
(index):524 GET http://www.google-analytics.com/analytics.js net::ERR_FAILED
0.s3.envato.com/files/115114837/profile.jpg:1 GET https://0.s3.envato.com/files/115114837/profile.jpg net::ERR_FAILED
jquery.min.js:3 GET http://fonts.gstatic.com/s/roboto/v15/mnpfi9pxYH-Go5UiibESIpBw1xU1rKptJj_0jans920.woff2 net::ERR_FAILED

显然,它拒绝加载 .appcache 文件中未指定的任何资源。我什至尝试只指定图像,它仍然会为样式表和所有 .js 文件引发错误。

发生了什么事?

【问题讨论】:

    标签: javascript html html5-appcache


    【解决方案1】:

    您需要添加 NETWORK 部分,如下所示:

    CACHE MANIFEST
    
    CACHE:
    /css/style.css
    /js/colors.js
    /js/dropzone.js
    /js/jquery.min.js
    /js/script.js
    
    /img/icon_analytics.png
    /img/icon_exit.png
    /img/icon_expand.png
    /img/icon_list.png
    /img/icon_lock.png
    /img/icon_menu.png
    /img/icon_more_content.png
    /img/icon_settings.png
    /img/icon_settings_black.png
    /img/svg_icons/close_fullscreen.svg
    /img/svg_icons/go_fullscreen.svg
    /img/loader.gif
    
    NETWORK:
    *
    

    在此处阅读more

    【讨论】:

    • 谢谢,消除了错误。有没有办法缓存这些外部资源?我仍然可以看到它下载了这个google.com/jsapi,这是一个巨大的库
    • 来自链接的文章:“本节中列出的文件如果不在缓存中,则可能来自网络,否则即使用户在线,也不会使用网络”。这些应该在第一次下载后被缓存。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-26
    • 1970-01-01
    相关资源
    最近更新 更多