Пишу небольшое расширение для Google Chrome, которое будет добавлять несколько плюшек к поисковой выдаче гугла. Однако возник такой затык: как правильно отследить изменение поискового запроса? И как этот запрос вообще правильно получить?
Сейчас у меня это делается по таймеру, проверкой значений document.title и window.location.hash, а строка запроса получается через такое выражение:
document.title.match(/^(.*)-[^-]+$/)[1].trim()
Оно по идее работает, но такой подход мне почему-то не нравится. Можно ли это отследить каким-нибудь более культурным методом?
Кто не в курсе — в расширениях нельзя обращаться к переменным и функциям остальных скриптов на странице, и объект google недоступен. Так что работать приходится исключительно через DOM.