看來我必須錯過一些完全基本的東西。我想要實現的東西看起來很常見,所以這讓我想知道爲什麼沒有直接的方法。強制頁面刷新並跳轉到#部分
問題是我想從JavaScript刷新當前頁面,並同時登陸#section。如果我只是做:
document.location.href = document.location.href + "#section";
我測試的所有瀏覽器只是滾動到該#section(無重新加載)。這是有道理的。只是爲了完整性,如果我做
document.location.assign(document.location.href + "#section");
它做同樣的事情(毫不奇怪,它內部歸結爲相同的功能肯定)。最後,document
對象似乎也有document.reload()
函數,它接受一個可選的布爾參數,指定是否要強制重新加載,但很明顯,它不允許指定#section。我能找到(使用這些方法)的唯一途徑是以下組合:
document.location.assign(document.location.href + "#section");
document.location.reload();
但它不是理想的,因爲你可能已經猜到了,它滾動,然後這將導致實際滾動三次瀏覽器重新加載到底。
我知道有辦法繞過它:服務器端重定向或添加一些獨特的隨機查詢字符串參數,但似乎很奇怪,沒有簡單的方法。
最明顯的問題是:爲什麼在世界上根本的頁面需要重新加載? – 2009-07-01 15:58:53