Jeśli mam linku, który jest zmieniany z funkcją history.pushState({}, "", link);
gdzie mój link
jest na przykład page.php?value=1&value2=2
Czy istnieje sposób, aby zamiast po prostu zmienić value2
z pushState()
funkcję zmiany całego łącza?history.pushState() zapytanie zmiana wartości
Odpowiedz
Jeśli próbujesz zrobić, to zmienić adres URL bez dodawania dodatkowego wpisu do obiekt historii, możesz spróbować replaceState
.
history.replaceState({value: 1, value2: X}, "title", "page.php");
Nie, ponieważ ciąg zapytania jest częścią adresu URL. Jeśli naprawdę nie musisz przekazywać tych wartości do celów serwera, możesz uwzględnić je w samym obiekcie stanu historii, a następnie możesz zmienić tylko obiekt stanu za pomocą pushState()
. Na przykład:
history.pushState({value: 1, value2: 2}, "Title", 'page.php');
history.pushState({value: 1, value2: 'new value'}, "Title");
Można użyć tej użytecznej funkcji, aby zmienić wartość parametru ciąg kwerendy:
function updateParam(url, param, value)
{
var re = new RegExp(param+"(.+?)(&|$)","g");
return url.replace(re, param+'='+value)
}
Ten ostatni wiersz powinien być 'url.replace (re, param + '=' + wartość + '$ 2')', prawda? W przeciwnym razie stracisz znak ampersand delimiter. – Ricky
- 1. history.pushState nie działa kontroler
- 2. Zmiana wartości textNode
- 3. Zmiana wartości NSSlider programowo
- 4. zmiana wartości ko.observable
- 5. Zmiana wartości w HashSet
- 6. Zmiana wartości w SQLite3
- 7. Zmiana wartości R.String Programowo
- 8. Zapytanie o limit wartości PFQuery
- 9. Zapytanie o pandy Brak wartości
- 10. Zapytanie MySQL o listę wartości
- 11. Proste zapytanie zmiana trwa zbyt długo
- 12. Czy jest wywołanie zwrotne dla History.pushstate?
- 13. Jak usunąć wpisy historii dodane przez history.pushstate?
- 14. Zmiana wartości w pliku machine.config
- 15. Zmiana minimalnej wartości sekwencji PostgreSta
- 16. sqlite3 zmiana domyślnej wartości kolumny
- 17. Zmiana wartości statycznego zasobu wpf
- 18. aktualizacja/zmiana wartości array (Swift)
- 19. Zmiana wartości zmiennoprzecinkowej w exe
- 20. Powershell - zmiana wartości zmiennej środowiskowej
- 21. Zmiana wartości ConstantExpression w istniejącym BinaryExpression
- 22. Google datastore - zapytanie o kluczowe wartości
- 23. Zapytanie o wartości elementów macierzy (PostgreSQL)
- 24. Jak uzyskać zapytanie o wartości zapytania?
- 25. Zapytanie MySQL, aby uzyskać liczbę unikatowych wartości?
- 26. zapytanie, aby policzyć liczbę różnych wartości?
- 27. Zapytanie o wartości logiczne w rachunek lambda
- 28. Zmiana wartości wartości ENUM MySQL, w całej tabeli
- 29. Zmiana wartości kroku w oknie wyszukiwania?
- 30. Zmiana wartości aktualnie powtórzyć elementu w liście
To nie wydaje się być odpowiedzią. Przekazanie obiektu jako pierwszego argumentu 'replaceState' nie wpłynie na wartości zapytania w adresie URL. Tylko ostatni argument: W tym przykładzie całkowicie usunie zapytanie. –
Program operacyjny chciał zaktualizować (a nie utworzyć nową) wartość w bieżącym stanie historii. Chociaż nie można użyć parametru pushState do zmodyfikowania obiektu stanu, jest to celem replaceState. – devstruck