Chrome无法加载JS文件

clj7thdc  于 2023-06-19  发布在  Go
关注(0)|答案(7)|浏览(595)

我正在写一个应用程序,其中包括大约12个短JS文件在<head>部分(我知道,我应该合并它们,并将它们移动到<body>结束之前;将在生产时获得这些)
麻烦的是,当我尝试在Chrome中加载应用程序时,**有些文件会立即加载,而有些文件根本不会加载完!**Chrome一直尝试加载12个JS文件,直到我点击“停止”才显示页面。
当我点击停止时,HTML被渲染,JS文件失败,如下图所示:

请注意,不同的JS文件在每次尝试时都会失败!不是每次都卡住的同一个文件!

检查失败文件的标头会显示“注意:请求尚未完成”。文件被卡在“接收”有时很多分钟!

现在有趣的是,点击停止后,如果我把注意力集中在omnibar上并按回车键,所有的JS文件立即加载应用程序运行良好!
在服务器端,我使用Apache、PHP和MySQL。我在Apache中配置错误了吗?

2天后的状态:什么都没有,什么都没有,我快疯了。我试过在不同的机器上运行代码,试过改变apache缓存设置,并在javascript中改变了无数的东西,但都没有成功。最糟糕的是,没有人能指出问题出在哪里!

dfuffjeb

dfuffjeb1#

一种可能性是,您启用了Keep-Alive,但它无法正常工作。我以前见过这个浏览器会建立到服务器的最大连接数(通常为6),以下载前几个文件(CSS,JS等),然后这些连接不会被释放,直到它们超时。我的症状和你的不太一样-超时是20秒,之后所有内容都会以6个为一批加载-但这仍然可能是原因。
在Apache配置中(大多数系统上为httpd.conf),查找KeepAlive行(如果缺少,则添加它),并将其设置为Off

ut6juiuv

ut6juiuv2#

不仅仅是一个答案,这里是我如何解决这个问题。
我会尝试的一件事是一次注解掉一个标记,然后重新加载,看看阈值在哪里。另外,因为这可能是一个服务器配置问题,所以我会在每次尝试后重新启动它,可以说是一个干净的石板,即在两次尝试之间不保留任何状态。
我会尝试通过用你最喜欢的语言从脚本中请求各种Javascript来获得更多的提示。理想情况下,我会尝试让脚本一个接一个地(比如用curl)在请求之间等待几毫秒。我想我在这里也遇到了一个门槛。例如,每秒获取一个脚本是可行的,但是当请求太接近时,服务器就会卡住。
如果仍然没有线索,我会使用tcpdump来观察浏览器和服务器之间的流量。好吧,这可能有点太低了!
但也许我会使用netstat来查看浏览器打开了多少个与服务器并行的连接以获取资源,并查看我们是否达到了并发限制。
我很抱歉这是一个解决方案,但我希望你得到一些想法,我会非常好奇地知道你的问题是什么,最终!

xcitsw88

xcitsw883#

我们收到了同样的信息“注意:在浏览器中的请求之后显示“请求尚未完成”。
请求本身是15 MB的JSON,它被馈送到Angular 1应用程序中。此请求花费了大约2秒。在请求完成后,Angular摘要循环阻止浏览器超过12秒(这可以通过请求期间的分析看到)。在此期间,Chrome显示“注意:请求尚未完成”消息,而实际上它已经完成。

dgsult0t

dgsult0t4#

检查Content-Length头。服务器可能传递不正确的值-大于实际内容长度。

dddzy1tm

dddzy1tm5#

尝试模拟https://www.stevesouders.com/cuzillion/中的问题它应该说你的问题- chrome或服务器

8mmmxcuj

8mmmxcuj6#

有几个很好的答案,但如果您想要一个万无一失的方法来完成这一点,您可以使用PHP一次发送所有脚本。如果问题真的是太多的连接到服务器,你可以添加一些HTML代码,如下所示:

<script type="text/javascript" src="scripts/scripts.php />

然后在scripts.php中使用include()函数来包含所有JavaScript文件,如下所示:

<?php
header(''); // control all your headers
include('jquery-1.9.1.min.js');
// rest of scripts
?>

如果没有其他方法工作,问题是过多的连接,这应该工作。

jmo0nnb3

jmo0nnb37#

我有一个linux+nginx+nodejs堆栈运行,页面会卡住,不能完全加载,也许每1/20页加载一次左右。添加HTTPS为我修复了它。
注意:在Android上的Chrome上遇到
我希望这对像我一样在开发过程中使用HTTP的人有所帮助!

相关问题