gpt4 book ai didi

javascript - 开发者工具查看一个脚本下载两次是否正常

转载 作者:太空狗 更新时间:2023-10-29 14:20:29 25 4
gpt4 key购买 nike

在我当前正在调试的网络应用程序中,索引页面如下所示。

<head>
<base href="/">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="renderer" content="webkit" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
<link rel='stylesheet' href='u.css?1456217719620'></link>
<link rel='stylesheet' href='ll.css?1456217719620'></link>
<link rel='stylesheet' href='aa.css?1456217719620'></link>
<script src='c.js?NaN'></script>
<link rel="shortcut icon" href="/images/favicon.ico" />

<script src='ll1.js?1456217719620'></script>
<script src='ll2.js?1456217719620'></script>
<script src='ll3.js?1456217719620'></script>
<script src='ll4.js?1456217719620'></script>
<script src='ll5.js?1456217719620'></script>
<script src='ll6.js?1456217719620'></script>
<script src='aa.js?1456217719620'></script>
</head>

<body>
<!-- Edit: As suggested in one of the reply, could it be because there are scripts like this in body? -->
<script type="text/javascript">
(function() {
var u='//widget.uservoice.com/xxxxx.js';
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript'; g.async=!1; g.defer=!0; g.src=u; s.parentNode.insertBefore(g,s);
})();
UserVoice = window.UserVoice || [];
</script>

</body>

一些脚本在开发者工具中出现了两次(Chrome,见下图)

enter image description here

有时第二次请求都是 200 而不是 304。

这正常吗?

是什么原因导致有时出现两次有时只出现一次?

[Edit 1] 和这个问题不一样 How "304 Not Modified" works? 不是一直显示304,有时候都是200 response。这可能与 HTML 和 javascript 的编写方式有关,而不是版主建议的题外话。

enter image description here

连nginx都记录了两次请求

[23/Feb/2016:21:56:09 -0500] "GET /ll1.js?1456217719625 HTTP/1.1" 200 220276
[23/Feb/2016:21:56:09 -0500] "GET /ll1.js?1456217719625 HTTP/1.1" 200 220284

[编辑 2] 我认为这可能与“大”文件请求有关?因为如下图所示,我尝试加载几个 javascript 文件,其中一些文件的大小为几 MB。我没有在 javascript 中做太多,大多数较小的文件只包含“console.log()”,较大的版本只是“var xxx = ['Large Array'];”

enter image description here

最佳答案

如果您的 Javascript 代码修改 DOM 并添加新的 <script> node 然后,浏览器将加载指向 src 的新脚本属性。所以这是可能的。但是,如果 Web 服务器表示未修改(代码 304),则可能会从浏览器缓存中提供第二个请求。

关于javascript - 开发者工具查看一个脚本下载两次是否正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35576904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com