gpt4 book ai didi

JavaScript:导航到新 URL 而不替换历史记录中的当前页面(不是 window.location)

转载 作者:行者123 更新时间:2023-11-30 18:55:20 25 4
gpt4 key购买 nike

我知道如何使用 window.location。问题是,(至少在 FF 中)它会从历史记录中删除您所在的页面。例如,我在页面 A 上,我导航到 B 并且 window.location 用于将我发送到 C。如果在页面 C 上,我单击返回,我最终到达 A,而不是 B。

有没有其他方法可以在不从历史记录中删除当前页面的情况下导航到另一个页面?

编辑:如果您在 Firebug 中运行代码,则不会发生这种情况。

这是一个显示问题的 super 简单的页面(是的,我知道代码很丑,这不是真正的代码):

<html>
<head><script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"> </script>
<body>
<div class="foo"></div>
<a href="javascript:$('.foo').html('<scri'+'pt type=&quot;text/javascript&quot;>window.location = &quot;c.html&quot;</s'+'cript>');">b</a>

EDIT2:jQuery 是问题所在,setTimeout 是答案。我在下面添加了我的解决方案,以防其他人遇到这种奇怪的边缘情况。

EDIT3:这个例子被简化以使其更容易测试。在实际情况下,点击处理程序会进行 Ajax 调用并返回 HTML,因此我们不能仅通过编写 window.location = whatever 来简化整个过程。代码来自服务器,嵌入在 HTML 中。

最佳答案

setTimeout 就是答案。

$(div).html('<script...> setTimeout(function() { window.location = url; },10); </script>');

没有这个问题。它一定与 jQuery 执行内联脚本的方式有关(通过在 head 元素中创建一个 script 标记)。

关于JavaScript:导航到新 URL 而不替换历史记录中的当前页面(不是 window.location),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2328283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com