【问题标题】:Why caching HTML5 page prevent doing Cors request?为什么缓存 HTML5 页面会阻止执行 Cors 请求?
【发布时间】:2015-08-20 06:51:46
【问题描述】:

为什么缓存应用程序会阻止 Cors 请求?

我有一个例子,除了第二行之外,两个 html 页面完全相同:

index.html link

<!DOCTYPE html>
<html manifest="main.appcache">

index2.html link

<!DOCTYPE html>
<html>

为什么一个没有清单的工作正常,而有清单只在第一次工作并在应用程序被缓存时停止工作? (按 F5 几次)

我使用 Firefox、Chrome 和 IE 进行了测试。

【问题讨论】:

  • 如果你保存在你的桌面上......它可以工作!
  • CORS和这个有什么关系,你真的在​​做跨域调用吗?
  • 您是否尝试使用允许请求的 NETWORK 部分更新您的 appcache?尝试使用简单的 NETWORK *。详情在这里html5rocks.com/en/tutorials/appcache/beginner。否则如果你的 FastFlicker 不在 CACHE 部分下,它不会被加载,并且缓存返回 404,这意味着资源没有被缓存

标签: javascript jquery html html5-appcache


【解决方案1】:

根据this article

网络: 本节中列出的文件如果不在缓存中,则可能来自网络,否则即使用户在线,也不会使用网络。您可以在此处将特定 URL 列入白名单,或者简单地使用“*”,它允许所有 URL。大多数网站都需要“*”。

所以你描述的行为是合适的,因为你的 appcache 清单不包含 NETWORK 部分。

更新:失败的请求 - 不是 CORS - 因为域、协议和端口是相同的。

【讨论】:

    猜你喜欢
    • 2021-12-17
    • 2021-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-14
    • 1970-01-01
    相关资源
    最近更新 更多