在Chrome的桌面,我有选项在开发工具完全禁用缓存时,开发工具被打开,我有选项手动做一个硬加载时,长时间点击重新加载按钮(与开发工具打开)。

Chrome for Android有这样的技术吗?我没有找到任何背景。 当我想强迫浏览器下载一些javascript或css文件,而不是使用一个缓存时,我该怎么做?


当前回答

为url添加参数愚弄浏览器来加载一个新页面。我为此写了一个函数:

function forceReload(){
    
    function setUrlParams(url, key, value) {
        url = url.split('?');
        usp = new URLSearchParams(url[1]);
        usp.set(key, value);
        url[1] = usp.toString();
        return url.join('?');
    }
    
    window.location.href =setUrlParams(window.location.href,'_t',Date.now());
}

你只需要调用它:

forceReload();

其他回答

远程调试允许您使用桌面dev-tools:

https://developers.google.com/chrome-developer-tools/docs/remote-debugging

您可以使用应用程序菜单(地址栏右侧)中的“请求桌面站点”选项,这将强制页面重新加载。

只需点击它,等待刷新,然后取消选择。

我发现的唯一不需要把手机插到电脑上的可靠方法如下:

1. 强制停止Chrome应用程序。

这必须首先完成,你不能重新打开Chrome,直到你完成这些步骤。有几种强制停止的方法。大多数家用启动器会让你通过在chrome图标上按住手指并选择“i”图标来获得“应用程序信息”。或者,你可以进入Android设置,然后简单地搜索“Chrome”。

在“App info”中,选择“强制停止”,如下图所示:


2. 清除Chrome的缓存

在同一屏幕上选择“Storage”:


最后,选择“清除缓存”。

当你返回Chrome应用程序时,页面应该重新加载自己,并提供一个非缓存版本。

此外,我还发现了一个网站,可以很容易地测试你是否清除了缓存:https://refreshyourcache.com/en/cache-test/ 我和它没有任何关系。请注意,清除该站点上提到的缓存的方法实际上已经过时并且不再有效。

最新版本的Chrome缓存非常激进。甚至像“http://url?”Updated =datecode"停止工作。您必须每次都清除缓存或启动一个隐身窗口(并确保数据保存程序关闭)。

我使用window.location.reload(true)根据MDN(和这个类似的问题)它迫使页面从服务器重新加载。

你可以在浏览器的地址栏中输入javascript:location.reload(true)来执行这段代码。