相关疑难解决方法(0)

如何在使用浏览器后退按钮时强制重新加载页面?

我需要以某种方式检测用户是否已按下浏览器后退按钮并使用jquery重新加载页面并刷新(重新加载内容和CSS).

如何通过jquery检测这样的动作?

因为如果我在浏览器中使用后退按钮,所以现在不会重新加载某些元素.但是,如果我在网站中使用链接,则所有内容都会刷新并正确显示.

重要!

有些人可能误解了我想要的东西.我不想刷新当前页面.我想按下后退按钮后刷新加载的页面.这是我更详细的意思:

  1. 用户正在访问page1.
  2. 而在第1页 - 他点击了第2页的链接.
  3. 他被重定向到page2
  4. 现在(重要的一部分!)他点击浏览器中的后退按钮,因为他想回到page1
  5. 他回到了第1页 - 现在正在重新加载page1并且会收到类似"你回来了!"的警告.

javascript browser jquery browser-cache page-refresh

53
推荐指数
8
解决办法
7万
查看次数

缓存JavaScript文件

哪个是使浏览器使用缓存版本的js文件(来自服务器端)的最佳方法?

javascript caching http

51
推荐指数
5
解决办法
14万
查看次数

IE:无法从*下载*.无法打开此Internet站点.请求的网站不可用或无法找到

我的网站和IE有问题.我有一个文件Document.ashx,它根据查询字符串中传递的参数成为我数据库中的文档.

该文件适用于:

  • 您在我的网站上并单击下载链接.
  • 您可以访问我的网站上的任何内容并将URL粘贴到地址栏中并访问它.
  • 您之前已经访问过一次文档链接,即使它出错也是如此.

如果:

  • 您没有在当前IE打开的情况下访问我的网站,并将链接粘贴到地址栏中.它显示以下错误:

Windows Internet Explorer

无法从MyHostName下载Document.ashx.

无法打开此Internet站点.

请求的网站不可用或无法找到.

请稍后再试.

有没有人知道会导致这种情况的原因.当然它在Firefox中运行良好.

我在办公室里找了几个人用IE来试试,他们都遇到了同样的问题.他们都说它适用于Firefox.

internet-explorer download

47
推荐指数
6
解决办法
8万
查看次数

避免JSF Web应用程序上的后退按钮

我正在展示非常敏感的数据.用户从我的服务器注销后,我不希望其他用户能够看到数据点击浏览器的"后退"按钮.

我怎样才能做到这一点?

browser jsf back-button

46
推荐指数
2
解决办法
4万
查看次数

缓存破坏与创建反应应用程序

当我更新我的网站时,运行npm run build并将新文件上传到服务器我仍在查看我的网站的旧版本.我的项目的回购是 https://github.com/Alfrex92/serverlessapps

没有React,我可以看到我的网站的新版本缓存破坏.我这样做:

上一个文件

<link rel="stylesheet" href="/css/styles.css">
Run Code Online (Sandbox Code Playgroud)

新文件

<link rel="stylesheet" href="/css/styles.css?abcde">
Run Code Online (Sandbox Code Playgroud)

我怎么能做这样的事情或用create react app实现缓存清除?

在创建的github中有许多线程对此做出反应,但没有人有正确/简单的答案.

caching reactjs react-redux create-react-app

36
推荐指数
3
解决办法
3万
查看次数

在JSP中添加Expires或Cache-Control标头

如何在JSP中添加ExpiresCache-Control标头?我想在包含页面中为我的静态组件添加远期到期日期,例如图像,CSS和JavaScript文件.

java jsp http cache-control

29
推荐指数
2
解决办法
8万
查看次数

缓存控制:无存储,必须重新验证未发送到IIS7 + ASP.NET MVC中的客户端浏览器

我试图确保某个页面永远不会被缓存,并且在用户单击后退按钮时从不显示. 这个非常高评价的答案(目前1068支票)说使用:

Response.AppendHeader("Cache-Control", "no-cache, no-store, must-revalidate");
Response.AppendHeader("Pragma", "no-cache");
Response.AppendHeader("Expires", "0");
Run Code Online (Sandbox Code Playgroud)

但是在IIS7/ASP.NET MVC中,当我发送这些头时,客户端会看到这些响应头:

Cache-control: private, s-maxage=0 // that's not what I set them to
Pragma: no-cache
Expires: 0
Run Code Online (Sandbox Code Playgroud)

缓存控制头怎么了?IIS7或ASP.NET本机的内容是否会覆盖它?我检查了我的解决方案,我没有覆盖此标头的代码.

当我Response.Headers.Remove("Cache-Control");首先添加时,它没有任何区别:

Response.Headers.Remove("Cache-Control");
Response.AppendHeader("Cache-Control", "no-cache, no-store, must-revalidate");
Response.AppendHeader("Pragma", "no-cache");
Response.AppendHeader("Expires", "0");
Run Code Online (Sandbox Code Playgroud)

当我添加一个[OutputCache]属性时:

[OutputCache(Location = OutputCacheLocation.None)]
public ActionResult DoSomething()
{
   Response.Headers.Remove("Cache-Control");
   Response.AppendHeader("Cache-Control", "no-cache, no-store, must-revalidate");
   Response.AppendHeader("Pragma", "no-cache");
   Response.AppendHeader("Expires", "0");

   var model = DoSomething();
   return View(model);
}
Run Code Online (Sandbox Code Playgroud)

然后客户端响应标头更改为:

Cache-control: no-cache
Pragma: no-cache
Expires: 0
Run Code Online (Sandbox Code Playgroud)

哪个更接近,但仍然不是我要发送的标题.这些标题在哪里被覆盖,我该如何阻止它?

编辑:我已经检查过,错误的标题被发送到Chrome,FF,IE和Safari,所以它看起来是一个服务器问题,而不是浏览器相关的问题.

c# asp.net-mvc iis-7 cache-control http-headers

28
推荐指数
1
解决办法
3万
查看次数

防止HTML页面的缓存

我有一个HTML页面.问题是我不想让用户每次放入新内容时刷新页面.

我有以下代码,以确保页面没有缓存:

     <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"/>
     <meta http-equiv="Pragma" content="no-cache"/>
     <meta http-equiv="Expires" content="0"/>
Run Code Online (Sandbox Code Playgroud)

问题是,我仍然需要在页面上刷新,以便显示最新的内容.难道我做错了什么?我应该使用其他一些标签吗?

html caching

27
推荐指数
2
解决办法
8万
查看次数

强制浏览器重新加载index.htm

如何通过在浏览器的地址栏中输入URL www.mydomain.com/index.htm或只需www.mydomain.com并按Enter键,强制浏览器在加载页面时始终加载最新版本的index.htm.

我正在Chrome中尝试这个,最新版本的index.htm显然只是加载,当我手动刷新(F5),或者当URL已经在浏览器的地址栏中时我按下回车键.

我想我正在做一些非常愚蠢的事情,因为当我搜索这个问题时,我所能找到的解决方案是关于如何通过将?v = xxxx附加到文件名来使浏览器重新加载.js和.css文件.但是,如果不是最新版本的index.htm页面(我正在进行这些修改),这应该如何工作?

我也尝试过

<meta http-equiv="cache-control" content="no-cache">
Run Code Online (Sandbox Code Playgroud)

<head>index.htm中.但这似乎没有任何影响.

任何帮助将不胜感激!

谢谢,Linus

html caching reload

27
推荐指数
1
解决办法
7万
查看次数

VueJS /浏览器缓存生成版本

我有一个VueJS应用程序.每当我运行npm run build它时会创建一组新dist/*文件,但是,当我在服务器上加载它们(删除旧版本后),并在浏览器中打开页面时,它会加载旧版本(从我假设的缓存中).当我刷新页面时,它加载新代码没问题.

这是我的index.html:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
        <meta http-equiv="cache-control" content="max-age=0" />
        <meta http-equiv="cache-control" content="no-cache" />
        <meta http-equiv="expires" content="-1" />
        <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
        <meta http-equiv="pragma" content="no-cache" />
        <link rel="stylesheet" href="/static/css/bootstrap.min.css"/>
    </head>
    <body>
        <div id="app"></div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

有没有办法强制它每次加载新代码或(理想情况下)检查旧文件是否从服务器中消失,然后刷新浏览器?

html browser-cache vue.js

26
推荐指数
3
解决办法
1万
查看次数