簡體   English   中英

從單擊按鈕上的URL刪除查詢參數不起作用

[英]Remove query param from URL on button click not working

我想刪除按鈕單擊URL中的查詢參數,以便將鏈接從www.example.com/?queryparam=hello修改為www.example.com/

當我嘗試:

window.location.href.split('?')[0]; 

在控制台中,它返回href減去查詢參數(正確)。 但是在實際的瀏覽器測試中,它不會在實際的按鈕單擊上執行代碼。

這是我的代碼:

window.addEventListener('message', function(event) {
  if (window.location.href.indexOf('?queryParam=') > -1) {
    $('.button').click(function() {
      window.location.href.split('?')[0];
    });
  }
  return;
}, false);

拆分和訪問數組不會使原始字符串變異。 您在控制台中將其視為基本URL的原因是,它的評估結果為www.example.com但您並未更改原始的window.location.href 重新分配:

window.location.href = window.location.href.split('?')[0];

您的代碼:

window.location.href.split('?')[0];

只是一種表達。 它評估為一個值,基本上沒有影響。 重新分配將按預期更改位置。 請注意,不需要window (除非您有一個名為location的局部變量)。 您也可以將其縮短為:

location = location.href.split('?')[0];

甚至:

location.assign(location.href.split('?')[0]);

暫無
暫無

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

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