CSS在打开控制台后停止在Chrome中工作
我正在用node.js制作一个应用程序,有几个html页面是用一个css文件设计的。在我点击主页上的一个链接(指向子页面)并在一个新选项卡中打开它之后,一切看起来都很好。但是,在我按下ctrl+F12并打开控制台后,css样式不知何故“停止工作”,这意味着:CSS在打开控制台后停止在Chrome中工作,css,google-chrome,Css,Google Chrome,我正在用node.js制作一个应用程序,有几个html页面是用一个css文件设计的。在我点击主页上的一个链接(指向子页面)并在一个新选项卡中打开它之后,一切看起来都很好。但是,在我按下ctrl+F12并打开控制台后,css样式不知何故“停止工作”,这意味着: 即使html中的“元素”选项卡中有带有style.css的链接标记,这些元素也没有样式 在“网络”选项卡中,我只能看到其中列出的状态为304的style.css文件(所有其他js文件都不在那里,即使js脚本可以工作) 当我返回主页时,css
请帮忙 尝试清除chrome中的缓存,然后重新启动chrome并重试。 (304响应头不一定是错误。它只是意味着浏览器应该从缓存加载资源。基本上,浏览器会说“嘿,我可以使用您上次给我的CSS文件的相同副本吗,或者它是否已更改?”服务器会说“它没有更改,继续使用您拥有的副本”AKA 304)
如果这还不能解决问题,您可以研究一下好的,我设法解决了这个问题。这个问题似乎是Chrome的bug,例如在这里讨论: 我不确定我的解决方案是否完美,但现在它似乎奏效了。我刚刚在我的server.js中的express.static中添加了一个选项(我使用express js): 我猜max-age属性在这里很重要——它是在缓存控制http头中指定的(单击给定文件后,您可以在网络选项卡的Dev-Tools控制台中看到)。找到了第一个链接中提到的解决方案。如果我看到更多问题,我将更新此答案。 对不起,我不能详细解释这个问题
编辑:此解决方案有一个主要缺陷:当我编辑文件时,浏览器仍会加载旧版本。因此,当我希望看到文件中的更改时,我会关闭此“最大年龄”属性。如果有人有更好的解决方案,请分享。感谢您的回答,不幸的是,清除缓存没有帮助。我不认为304是问题所在;例如,更改窗口大小后,此状态不会更改,但样式会返回。这太奇怪了,我以为这是最新Chrome版本的bug。
app.use(express.static('public', {maxAge: '5d'}));