嗨,我有一个需要管理的大型项目表格。当我点击按钮时,我使用。
这将在后台运行
现在它在Firefox中可以工作了... 顺便说一句,如果我在IE中使用window.location.reload(true);,它会出现:
尽管它只是将哈希放入地址栏,即使我转到地址栏并按回车键,它也不会刷新页面。我必须删除哈希并按回车键才能重新加载页面...(然后它会滚动到顶部)
$.post("update_the_database.php", { mode: 'themode', username: username },
function(result){
window.location.href = window.location.href;
});
这将在后台运行
"update_the_database.php"
,完成后重新加载页面。但它会回到页面顶部...
我尝试过:
window.location.href = window.location.href + '#the_id';
但在所有浏览器中(IE,Firefox,Chrome,Safari),它会更改地址栏中的URL但不重新加载页面。
从这里开始:
{{link1:window.location.href = window.location.href和window.location.reload()之间的区别}}
“如果URL中有锚点(#),则window.location.href = window.location.href不会重新加载页面- 在这种情况下,您必须使用window.location.reload()。”
所以我尝试了:
window.location.reload(true);
在Chrome和Safari中,当页面重新加载时会滚动到之前的位置,但在IE和Firefox中不会...
方法二:
window.location.hash = "#" + newhash;
window.location.reload(true);
现在它在Firefox中可以工作了... 顺便说一句,如果我在IE中使用window.location.reload(true);,它会出现:
Windows Internet Explorer
To display the webpage again, the web browser needs to
resend the information you've previously submitted.
If you were making a purchase, you should click Cancel to
avoid a duplicate transaction. Otherwise, click Retry to display
the webpage again.
Retry Cancel
你必须按下“重试”按钮,否则会出现一个错误页面,上面写着“网页已过期”。
为了避免IE弹出窗口,我目前正在执行以下操作:
window.location.hash = "#<?php echo $id;?>";
if (navigator.appName != 'Microsoft Internet Explorer') {
window.location.reload(true);
}
尽管它只是将哈希放入地址栏,即使我转到地址栏并按回车键,它也不会刷新页面。我必须删除哈希并按回车键才能重新加载页面...(然后它会滚动到顶部)