标头响应仅在特定计算机上返回Content-Length

时间:2019-06-23 21:36:56

标签: javascript

我有一个小型项目-基本想法是,您选择Google的一种字体,从该字体中键入所需的特定字符,它会返回完全加载的字体的大小以及仅包含的字体的大小您的预定义字符。显示仅通过加载所需的字符(而不是整个字体文件)节省的数据量。

可以在这里找到该项目:Codepen Project

因此,基本上不起作用的是获取请求的响应。

  fetch(`https://fonts.googleapis.com/css?family=${submittedData.font}`)
  .then(res => res.text())
  .then(t => t.match(/http.*\.woff2/)[0]) 
  .then(url => fetch(url))
  .then(res => {
    res.headers.forEach((i,o)=> {
      console.log(i,o);
    })
  })

上面代码的想法是您从googleapis获取字体,返回响应文本与实际请求url相匹配(因为这是我们需要获取的文件大小),对其进行获取并获取内容长度从响应。

这就是我的问题所在,当在我自己的4台计算机上进行测试时,如果我在开发工具中检查响应是否可见,则forEach循环不会返回content-length。然后进一步复杂化,当在朋友机器上测试时,他的确返回forEach循环中的content-length。

很高兴提供更多信息,但我认为所有内容都已涵盖。

  

这些是我的计算机上返回的结果:

These are the results returned on my machine

  

在朋友机器上返回的结果:

Results returned on friends machine

0 个答案:

没有答案
相关问题