如何在Visual Studio中debugging时强制Chrome浏览器重新加载.css文件?
我目前正在编辑Visual Studio 2012中的.css文件(在debugging模式下)。 我使用Chrome作为浏览器。 当我在Visual Studio中对应用程序的.css文件进行更改并保存时,刷新页面将不会加载我的.css文件中已更新的更改。 我认为.css文件仍然被caching。
我努力了:
- CTRL / F5
- 在Visual Studio 2012中,转到项目属性,Web选项卡在开始操作部分中select启动外部程序粘贴或浏览到Google Chrome的path(我的是C:\ Users \ xxx \ AppData \ Local \ Google \ Chrome \ Application \ chrome.exe)在命令行参数框中input-incognito
- 使用Chrome开发者工具,点击“齿轮”图标,选中“禁用caching”。
除非手动停止debugging,否则似乎没有任何工作(closuresChrome),重新启动应用程序(在debugging中)。
有什么办法强制Chrome始终重新加载所有的CSS更改并重新加载.css文件?
更新:
1.刷新时,我的.aspx文件中的内嵌样式更改被选中。 但.css文件中的更改不会。 2.这是一个ASP.NET MVC4应用程序,所以我点击一个超链接,做一个GET。 这样做,我没有看到样式表的新请求。 但是单击F5,.css文件被重新加载,并且状态代码(在networking选项卡上)是200。
有更复杂的解决scheme,但一个非常简单的方法就是随机查询string添加到您的CSS包含。
如src="/css/styles.css?v={random number/string}"
如果您使用的是PHP或其他服务器端语言,则可以使用time()
自动执行此操作。 所以它会是styles.css?v=<?=time();?>
这样,查询string将会每一次都是新的。 就像我说的那样,有更复杂的解决scheme更具有dynamic性,但是在testing中,这种方法是顶级的(IMO)。
强制使用chrome实现css和js:
Windows选项1: CTRL + SHIFT + R
Windows选项2: SHIFT + F5
OS X: ⌘ + SHIFT + R
更新如@PaulSlocum在评论(许多证实)
原始答案:
Chrome改变了行为。 Ctrl + R将做到这一点。
在OS X上: ⌘ + R
如果您在重新加载css / js文件时遇到问题,请在重新加载之前打开检查器( CTRL + SHIFT + C )。
我发现的最简单的方法是在Chrome DevTools设置中。 点击DevTools右上方的齿轮图标(或更新版本中的3个垂直点)打开“设置”对话框。 在那里,勾选方框:“禁用caching(DevTools打开时)”
就我而言,在Chrome DevTools设置中,只需设置“禁用caching(DevTools打开时)”不起作用,则需要检查源代码中列出的“启用CSS源图”和“自动重载生成的CSS”组,使这个caching问题消失。
你正在处理浏览器caching的问题。
禁用页面本身的caching。 这不会在浏览器/caching中保存页面的支持文件。
<meta http-equiv="cache-control" content="max-age=0" /> <meta http-equiv="cache-control" content="no-cache" /> <meta http-equiv="expires" content="0" /> <meta http-equiv="expires" content="Tue, 01 Jan 1990 12:00:00 GMT" />
您需要/需要将此代码插入到您正在debugging的页面的标签中,或者插入到您网站的master page
的标签中
这将不允许浏览器caching文件,最终文件将不会被存储在浏览器的临时文件,所以没有caching,所以不需要重新加载:)
我相信这会做:)
按SHIFT + F5 。
它使用Chrome 54版本为我工作。
使用macOS,我可以强制Chrome浏览器重新加载CSS文件
⌘ + SHIFT + R
发现这个答案埋在这里的评论,但值得更多的曝光。
当您重新加载页面(Command + R)时,当前版本的Chrome(55.x)不会重新加载所有资源,并且这对debugging.css文件没有用处。
如果您只想debugging.html,.php,.etc文件,Command + R可以正常工作,而且由于使用本地/caching资源(.css,.js),因此速度更快。 为每个debugging迭代手动删除浏览器的caching并不方便。
在Mac上强制重新加载.css文件的过程(键盘快捷键/ Chrome):Command + Shift + R
我知道这是一个古老的问题,但如果任何人仍然在寻找如何重新加载一个外部的CSS / JS文件,现在在Chrome最简单的方法是:
- 转到DevTools的“ networking”选项卡
- 右键单击资源并select重播XHR重复请求
确保选中禁用caching选项来强制重新加载。
我在这里面临同样的问题! 但我确定,我的决议比以上所有例子都好,只要做到这一点,
- 通过按F12拉起Chrome开发者控制台
- 右键单击浏览器顶部的重新加载button,然后select“清空caching和硬重新加载”。
这就是它!
为什么需要刷新整个页面? 只刷新只有CSS文件,而不重新加载页面。 例如,当你必须等待数据库的长时间响应时,这非常有帮助。 从数据库获取数据并填充页面后,编辑您的css文件并在Chrome(或Firefox)中重新加载它们。 要做到这一点,你需要安装CSS Reloader扩展 。 Firefox版本也是可用的。
您可以将此脚本复制到Chrome控制台,并强制您的CSS脚本每3秒重新加载一次。 有时我发现它在改进CSS样式时很有用。
var nodes = document.querySelectorAll('link'); [].forEach.call(nodes, function (node) { node.href += '?___ref=0'; }); var i = 0; setInterval(function () { i++; [].forEach.call(nodes, function (node) { node.href = node.href.replace(/\?\_\_\_ref=[0-9]+/, '?___ref=' + i); }); console.log('refreshed: ' + i); },3000);
对于macOS Chrome:
- 打开开发者工具cmd + alt + i
- 点击开发者工具右上angular的三个点
- 点击设置
- 向下滚动到
Network
- 启用
Disable cache (while DevTools is open)
请参阅屏幕截图:
还是一个问题。
使用像“..css?something = random-value”这样的参数在我的客户支持体验中没有任何改变。 只有名称更改才有效。
另一个文件重命名。 我在IIS中使用URL重写。 有时Helicon的Isapi重写。
添加新规则。
+ Name: lame-chrome-fix. + Pattern: styles/(\w+)_(\d+) + Rewrite URL: /{R:1}.css
注:我保留使用undercase从名称与随机数分开。 可能是别的。
例:
<link href="/styles/template_<% Response.Write( System.DateTime.UtcNow.ToString("ddmmyyhhmmss")); %>" type="text/css" />
(没有样式文件夹,它只是模式的名称部分)
输出代码如下:
<link href="/styles/template_285316115328" rel="stylesheet" type="text/css">
redirect为:
(R:1 =模板)
/template.css
只有解释很长。
刚刚有这个问题,运行Chrome的一个人(在Mac上)突然停止加载CSS文件。 CMD + R根本不工作。 我不喜欢上面的build议强制生产系统永久重新加载。
有用的是改变HTML文件中的CSS文件的名称(当然重命名CSS文件)。 这迫使Chrome去获取最新的CSS文件。
如果您使用Sublime Text 3,则使用构build系统打开文件将打开最新版本,并提供通过[CTRL + B]加载的方便方法要设置构build系统,以chrome打开文件:
-
转到“工具”
-
将鼠标hover在“构build系统”上。 在列表底部,点击“New Build System …”
-
在新的构build系统文件中input:
{"cmd": [ "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe", "$file"]}
**提供上述第一组引用中的path是Chrome在计算机上的位置,如果它不是简单地findchrome的位置并将第一组引用中的pathreplace为path在您的计算机上的铬。
我用这个简单的技巧解决了。
<script type="text/javascript"> var style = 'assets/css/style.css?'+Math.random();; </script> <script type="text/javascript"> document.write('<link href="'+style+'" rel="stylesheet">'); </script>
实现你的目标最简单的方法是在你的Chrome浏览器或私人窗口在Firefox中 打开一个新的隐身窗口 ,默认情况下,不会caching。
您可以将其用于开发目的,以便您不必在项目中注入一些随机caching代码。
如果你使用IE浏览器,那么上帝可以帮助你!
Ctrl + F5
Shift + F5
两者都有效
如果您使用SiteGround作为您的托pipe公司,而其他解决scheme都无法正常工作,请尝试以下操作:
在cPanel中,进入“SITE IMPROVEMENT TOOLS”并点击“SuperCacher”。 在下一页中,单击“刷新caching”button。
在Safari 11.0 macOS上最简单的方法SIERRA 10.12.6:从原始页面重新加载页面,您可以使用帮助来find它所在菜单的位置,或者您可以使用快捷键选项(alt)+ command + R.
Chrome/firefox/safari/IE
将通过这些快捷方式重新加载整个页面
Ctrl + R (或) Ctrl + F5
希望它可以帮助你!