【发布时间】:2013-10-31 00:43:45
【问题描述】:
我正在寻找一种在用户刷新页面时更改页面 url(更改 url 键值之一)的方法。我这样做是为了反映页面内容的变化。我尝试了几种方法,但它们都有循环问题。以下是其中一种方法:
在我的html页面中:
<body onLoad="CheckPageLoad();">
<input type="hidden" name="trial" id="trial" value="hello" />
</body>
在page.asp页面中:(脚本标签内)
function CheckPageLoad() {
if ($("#trial").val() == "hello") {
// This is a fresh page load
alert('Load');
$("#trial").val("hi");
} else {
// This is a page refresh
window.location = url;
alert('Refresh');
}
}
问题:
- 每次刷新页面时,总是会显示加载警报。我以为负载只完成一次。看起来每次刷新页面时,它都会重新加载,因此该值始终保持为 hello。
- 我尝试只使用脚本标签,新的 url 被打开但一直循环。 (这是主要问题)
感谢任何更新上述方法或使用其他方法进行刷新的建议。以下是我也尝试过的其他方法:
window.onbeforeunload = unloadPage();
function unloadPage() {
//do something
//works but loops
}
谢谢
【问题讨论】:
-
window.location 触发页面刷新,因此您的 hello 变量被重置。您可以尝试使用会话来存储“你好”“想法”。
-
"好像每次刷新页面都会重新加载" 是的,就是这样。
-
那么我该如何打开新的 url 并停止循环呢?它会打开新的 url,然后会打开另一个 url,这会一直持续下去。新的 url 是同一个页面,只是 url 中的一个键值发生了变化。示例:url1 aaaa.com/?element=1&pool=5 和 url2 是 aaaa.com/?element=1&pool=6。
-
这听起来像XY problem。如果您就您要解决的问题向我们提供一些背景信息,我们可能会提供更好的帮助。
-
@Silvermind - 你能举个例子吗
标签: c# javascript html jquery