簡體   English   中英

Javascript使用哈希值重新加載頁面

[英]Javascript reload the page with hash value

我正在嘗試在一些過程后使用外部 javascript 文件中的此語句刷新頁面。

window.location.href = window.location.href

它完美地重新加載頁面,但我想在重新加載后滾動到特定位置。 所以,我把這個放在頁面上。

<a name="uploadImgSection"></a>

並將javascript更改為

window.location.href = window.location.href + "#mypara";

此代碼也不會重新加載/刷新頁面

window.location.hash = "#uploadImgSection";
window.location.href = window.location.href;

當我這樣做時,它根本不會重新加載頁面。 有什么辦法可以用滾動條位置重新加載頁面?

window.location.href += "#mypara";
location.reload();

首先添加哈希,然后重新加載頁面。 散列將保留在那里,頁面會重新加載。

經測試,有效。


ps:如果 URL 中已經存在哈希值,您可能希望通過location.hash而不是.href直接更改它。

我想更新這個問題,因為我發現使用window.location.href += "#mypara"會繼續將參數附加到 url,即使它存在。 我發現更好的方法是使用

window.location.hash = "#mypara"
location.reload();

這真的是一個舊帖子,我仍然會嘗試用正確的答案組合來回答。

  1. location.reload()location.reload(true)在瀏覽器上像 F5 一樣工作。 如果之前加載完成,這會將所有表單數據發送回服務器。
  2. location.href不會刷新頁面,直到瀏覽器識別出 URL 更改。 哈希更改 (#paramname) 不符合 URL 更改條件,因此僅執行location.href+="#paramname"將不起作用。

因此, location.href+="?anything#paramname"應該將頁面作為新請求重新加載,因為?anything在 URL 中發生了變化。

var loc = location.hash;
location.hash = " ";
location.hash = loc;

嘗試這個

           var urlString=window.location.href;
           var url=urlString.split("#")[0];
           window.location.href = url + "#mypara";

這對我有用:

var tabValue = document.URL;
window.location = tabValue.substring(0, tabValue.lastIndexOf("#"));
window.location.hash = "#tabs-3"; //Whatever is your hash value
location.reload();

這對我有用

$('body').on('click', '.className', function () {
    var data = $(this).attr('href');
    alert(data);
    window.location.reload();
});

這對我有用

window.location.href = baseUrl + "#/m/team";
 location.reload();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM