如何使用 jQuery 刷新页面?

IT技术 javascript jquery refresh reload
2021-02-02 03:00:39

如何使用 jQuery 刷新页面?

6个回答

使用location.reload()

$('#something').click(function() {
    location.reload();
});

reload()函数采用一个可选参数,该参数可以设置true为强制从服务器而不是缓存重新加载。该参数默认为false,因此默认情况下页面可能会从浏览器的缓存中重新加载。

这对我不起作用。这虽然有效:window.location.href=window.location.href;
2021-03-16 03:00:39
@FaridAbbaslocation.reload();是标准的 javascript。你不需要jQuery。
2021-03-19 03:00:39
@Sagar N,这也适用于我。谢谢你。过去几天我用不同的方法努力尝试,但你的解决方案救了我。
2021-03-23 03:00:39
window.location.reload(true); 将硬刷新,否则默认为 false
2021-04-01 03:00:39
这对我不起作用。 window.location.href=window.location.href;location.href=location.href;工作。
2021-04-03 03:00:39

使用 JavaScript 刷新页面多种无限方式:

  1. location.reload()
  2. history.go(0)
  3. location.href = location.href
  4. location.href = location.pathname
  5. location.replace(location.pathname)
  6. location.reload(false)

    如果我们需要再次从网络服务器中提取文档(例如文档内容动态变化的地方),我们会将参数作为true.

您可以继续使列表富有创意:

var methods = [
  "location.reload()",
  "history.go(0)",
  "location.href = location.href",
  "location.href = location.pathname",
  "location.replace(location.pathname)",
  "location.reload(false)"
];

var $body = $("body");
for (var i = 0; i < methods.length; ++i) {
  (function(cMethod) {
    $body.append($("<button>", {
      text: cMethod
    }).on("click", function() {
      eval(cMethod); // don't blame me for using eval
    }));
  })(methods[i]);
}
button {
  background: #2ecc71;
  border: 0;
  color: white;
  font-weight: bold;
  font-family: "Monaco", monospace;
  padding: 10px;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.5s ease;
  margin: 2px;
}
button:hover {
  background: #27ae60;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

@Cԃաԃ 我看不出有什么区别......也许是缓存的问题?我很快就会去看看。
2021-03-16 03:00:39
@Cԃաԃ 最后,我可以重现你所看到的,我在这里
2021-03-19 03:00:39
location.href = location.href是我通常使用的,但感谢其他人。很有用!+1
2021-03-24 03:00:39
1 和 6(reload()/(false))比较慢。嗯。有趣的。:) 和 1 和 6reload()的默认参数是相同的false
2021-04-05 03:00:39
+1 用于列表和 jsfiddle。我有一个问题,在 jsfiddle 1 和 6 中使生成的页面在重新加载时消失一会儿,而 2-5 使页面重新加载“不明显”。在 chrome 的开发工具中,我可以看到页面正在重新生成,但是您能解释一下不同的重绘过程吗?请。先感谢您。
2021-04-09 03:00:39

即使没有 jQuery,这也应该适用于所有浏览器:

location.reload();
如果您想知道这到底有多受支持,这里是我可以使用吗?
2021-03-17 03:00:39

很多方法都会起作用,我想:

  • window.location.reload();
  • history.go(0);
  • window.location.href=window.location.href;
window.location.href=window.location.href;将做什么,如果你的URL对最终A#/ hashbang example.com/something#blah
2021-03-18 03:00:39
唯一对我有用的是这个:window.location.href=window.location.href;
2021-03-20 03:00:39
如果有人想知道location.reload()之间的区别history.go(0)什么:没有。w3.org/TR/html5/browsers.html#dom-history-go 上HTML 5 规范的相关部分明确规定它们是等效的:go(delta)调用方法时,如果方法的参数被省略或具有值为零,用户代理必须表现得好像location.reload()方法被调用一样。”
2021-03-21 03:00:39
window.location.href=window.location.href 为我工作
2021-03-29 03:00:39

要使用 jQuery 重新加载页面,请执行以下操作:

$.ajax({
    url: "",
    context: document.body,
    success: function(s,x){
        $(this).html(s);
    }
});

我在这里使用的方法是 Ajax jQuery。我在Chrome 13上对其进行了测试。然后我将代码放入将触发重新加载的处理程序中。URL"",这意味着这个页面

除非你对你的代码非常小心,否则这导致内存泄漏,在你附加了事件处理程序的地方,在替换它们所附加的代码之前没有分离它们。
2021-03-18 03:00:39
我正在使用它每秒重新加载我们的仪表板,零闪烁!这是穷人的彗星/json api。感谢@DanielLlewellyn 等人。警告。
2021-03-24 03:00:39
投反对票。这并没有真正回答问题,而是展示了如何用 Ajax 响应替换页面的 HTML。这与重新加载页面不同:例如,我现在正在处理一种情况,在这种情况下这无法解决原始问题。
2021-03-28 03:00:39
像这样重新加载整个 HTML 的一个麻烦是必须手动调用 onload/ready 事件并减轻对先前声明的变量的覆盖,您可能希望在刷新后保留其状态。
2021-03-30 03:00:39
一些人评论说这种方法对于仅刷新页面的一部分很有用。不是。我认为那些人误解了context参数$.ajax并期望它以某种方式执行某种魔法。它所做的只是设置this回调函数Ajax的URL""会打你目前所在的网址,因此通常加载完整的HTML(包括<html><head><body>)在这个答案过滤掉你不想要东西,并没有什么。
2021-03-30 03:00:39