Если в адресной строке https://www.google.ru/#newwindow=1&q=firefox чтобы автоматически перенаправляло на https://www.google.ru/search?newwindow=1&q=firefox
Где firefox поисковый запрос, который может меняться. То есть, чтобы добавлялся search? и убиралось #.
Это надо с window.location.href колдовать и replace, но для меня это темный лес. Помогите, пожалуйста.

Вроде вот так работает

Выделить код

Код:

window.location.href = window.location.href.replace('#', 'search?');

URL меняется, но почему то идет постоянная перезагрузка страницы.

Можно вот так:

Выделить код

Код:

history.replaceState("", document.title, location.href.replace("#", "search?"));
Infocatcher пишет

Можно вот так:

Выделить код

Код:

history.replaceState("", document.title, location.href.replace("#", "search?"));

Работает, но как-то странно в моем случае.

deniskx пишет

URL меняется, но почему то идет постоянная перезагрузка страницы.

адрес-то не проверяется на то что он уже изменён
сделай

Выделить код

Код:

if (window.location.href.indexOf("google.ru/#")!=-1){тут твоя замена}

indexOf ищет наличие указанного фрагмента и если его нет то выдаёт -1
соответственно условие получается если не равно -1 то выполнить замену

Не помогает почему-то.

Мне еще посоветовали

Выделить код

Код:

var url = window.location.href;
var re = 'google.ru/#';
var arr = url.split(re);
if(arr.length > 1){
    window.location.href = arr[0] + 'google.ru/search?' + arr[1];
}

Такой код работает. Если переходить по обычным ссылкам или вручную обновить страницу. Но в живом поиске гугла (когда выбираешь из подсказок) URL в адресной строке генерируется динамически и скрипт уже не срабатывает.
А можно написать, чтобы скрипт например раз в секунду проверял содержимое адресной строки и если обнаружено google.ru/#, то выполнял изменение?

Выделить код

Код:

(function() {
 
 (function main() {
     var
         re = 'google.ru/#',
         loc = window.location,
         arr = loc.href.split(re);
 
     if (arr.length > 1) {
         loc.href = arr[0] + 'google.ru/search?' + arr[1]; return;
     }
 
     setTimeout(main, 1000);
 })();
 
 })();

Или

Выделить код

Код:

(function() {
 
 function main() {
     var
         re = 'google.ru/#',
         loc = window.location,
         arr = loc.href.split(re);
 
     if (arr.length > 1) {
         loc.href = arr[0] + 'google.ru/search?' + arr[1]; return;
     }    
 };
 setInterval(main, 1000);
 })();