Пользовательский скрипт для замены части URL
Я ищу usercript, который заменяет часть URL, если в нем найдены определенные значения. Ниже приведен код, который работает и заменяет URL, но проблема в том, что он продолжает перезагружать / обновлять страницу после изменения URL. Я новичок во всем этом, что я делаю не так?
// @include http://*
// @include https://*
// @run-at document-start
// ==/UserScript==
var url = window.location.href;
if (url.search("images.abc.com") >= 0) {
url = url.replace('300','620');
window.location = url;
}
1 ответ
Вы используете window.location=url
который меняет расположение окон и ваша страница обновляется. Вы можете сделать что-то вроде этого, чтобы обновить URL без перезагрузки страницы.
Меняется только то, что после хеша - старые браузеры
document.location.hash = 'lookAtMeNow';
Изменение полного URL. Chrome, Firefox, IE10+
history.pushState('data to be passed', 'Title of the page', '/test');
Выше добавит новую запись в историю, так что вы можете нажать кнопку Назад, чтобы перейти в предыдущее состояние. Чтобы изменить URL на месте без добавления новой записи в историю, используйте
history.replaceState('data to be passed', 'Title of the page', '/test');
Полное решение
var url = window.location.href;
if (url.search("images.abc.com") >= 0) {
url = url.replace('300','620');
/*window.location = url;*/
history.pushState('data if any', 'Title of the page if any', url);
history.replaceState('data if any', 'Title of the page if any', url);
}