Ksh*_*KJ- 19 html javascript php apache google-chrome
我正在编写一个应用程序,其中包含大约12个简短的JS文件<head>
(我知道,我应该合并它们并在结束之前移动它们<body>
;在生产时会得到它们)
麻烦的是,当我尝试在Chrome中加载应用程序时,有些文件立即加载,而有些文件从未完成加载!Chrome一直试图加载12个JS文件,并且在我点击"停止"之前从不渲染页面.
当我点击停止时,呈现HTML并且JS文件失败,如下图所示:
请注意,每次尝试都会失败不同的JS文件!它不是每次都被卡住的同一个文件!
检查失败文件的标题显示"警告:请求尚未完成".文件卡在"接收"有时很长一段时间!
现在这里是有趣的部分,在点击停止后,如果我专注于omnibar并按回车键,所有JS文件立即加载,应用程序正常工作!
在服务器端,我使用的是Apache,PHP和MySQL.我在Apache中错误配置了什么吗?
在两天艰苦的日子之后的状态:zilch,没什么,nada,这让我疯了.我尝试从不同的机器运行代码,尝试更改apache缓存设置并在javascript中更改了无数的东西,但没有任何工作.最糟糕的是没有人可以指出问题出在哪里!
Dav*_*sey 17
一种可能性是您启用了Keep-Alive并且无法正常工作.我以前见过这个.浏览器建立它与服务器的最大连接数(通常为6)以下载前几个文件(CSS,JS等),然后这些连接在超时之前不会被释放.我的症状与你的症状并不完全相同 - 超时是20秒,之后一切都将以6个批次加载 - 但这仍然是原因.
在您的Apache配置(大多数系统上的httpd.conf)中,查找该KeepAlive
行(如果缺少该行,则添加它)并将其设置为Off
.
这不仅仅是一个答案,我将如何解决问题.
我尝试的其中一件事就是一次评估一个标签并重新加载,以查看阈值的位置.此外,因为这可能是一个服务器配置问题,我会在每次尝试后重新启动它,以便有一个干净的平板,可以这么说,即尝试之间没有保留状态.
我试图通过尝试用您喜欢的语言从脚本中发出各种Javascripts的请求来获得更多提示.理想情况下,我会尝试逐个GETting脚本(比如curl)在请求之间等待几毫秒.我想我也在这里达到了一个门槛.比如,每秒获取一个脚本可以正常工作,但是当请求过于接近时,服务器就会卡住.
如果仍然没有线索,我会使用tcpdump来观察浏览器和服务器之间的流量.好的,这可能有点太低了!
但也许我会使用netstat来查看浏览器与服务器并行打开多少连接以获取资源,并查看我们是否达到了并发限制.
对不起,这是一个解决方案,但我希望你能得到一些想法,我很想知道你的问题到底是什么!
在浏览器中发出请求后,我们收到了完全相同的消息“注意:请求尚未完成”。
请求本身大约为 15 MB 的 JSON,它被输入到 Angular 1 应用程序中。这个请求用了大约 2 秒。请求完成后,Angular 摘要循环阻塞浏览器超过 12 秒(这可以通过请求期间的分析看到)。在此期间,Chrome 在请求中显示此“警告:请求尚未完成”消息,而实际上它已经完成。
归档时间: |
|
查看次数: |
21728 次 |
最近记录: |