Я следующий код, который заменяет текущий URL с помощью JavaScript:Заменить все после последнего символа в URL
window.location.replace(window.location.href.replace(/\/?$/, '#/view-0'));
Однако, если у меня есть URL-адрес, как:
domain.com/#/test
или domain.com/#/
Он добавит #/view-0
к текущему хэшу. Я хочу заменить ВСЕ после последней части URL-адреса, включая строки или хэши запросов.
Так что предположим, что мое регулярное выражение не справляется с этим ... Как я могу изменить его, чтобы быть более агрессивным?
Замена работает нормально. Но это больше не вызывает обновление страницы, как мой код ... Любые идеи почему? – Cameron
@Cameron Вы можете попытаться присвоить значение обратно 'location.href', т. Е.' Location.href = location.href.replace (...) '. Он должен выполнить перенаправление на нужный URL. – VisioN
Если URL-адрес уже содержит хэш, а затем я запускаю этот код замены, он видит его как hashchange и поэтому не вызывает полное обновление ... Если я это сделаю: 'window.location.href = window.location .replace (window.location.href.replace (/[?#].*$/, '#/view-0')); 'затем он перенаправляет, но заканчивается на неопределенный URL. – Cameron