Если в адресной строке https://www.google.ru/#newwindow=1&q=firefox чтобы автоматически перенаправляло на https://www.google.ru/search?newwindow=1&q=firefox
Где firefox поисковый запрос, который может меняться. То есть, чтобы добавлялся search? и убиралось #.
Это надо с window.location.href колдовать и replace, но для меня это темный лес. Помогите, пожалуйста.
Отредактировано deniskx (28-10-2015 18:46:46)
Отсутствует
Вроде вот так работает
URL меняется, но почему то идет постоянная перезагрузка страницы.
Отредактировано deniskx (29-10-2015 09:50:11)
Отсутствует
Можно вот так:
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Можно вот так:
Работает, но как-то странно в моем случае.
deniskx пишетURL меняется, но почему то идет постоянная перезагрузка страницы.
адрес-то не проверяется на то что он уже изменён
сделай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/#, то выполнял изменение?
Отредактировано deniskx (30-10-2015 13:38:02)
Отсутствует
(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); })();
Отсутствует