Как я могу определить, когда пользователь просматривает определенный URL? - PullRequest
1 голос
/ 22 октября 2010

Я пишу приложение, которое становится «полезным», когда пользователь просматривает определенный URL.

Я хочу добавить в свое приложение функцию, которая будет автоматически запускаться, когда пользователь просматривает этот URL-адрес, я подумывал написать какой-нибудь сторожевой таймер для его запуска.

У меня вопрос: есть ли общий способ получать уведомления, когда пользователь просматривает URL-адреса, я хочу поддерживать хотя бы IE и FireFox, приятно иметь chrome и safari.

Я читал о DDE и WWW_RegisterURLEcho, но насколько я понимаю, он не поддерживается FireFox, а также небольшой пример, который я написал, тоже не работал с IE.

Заранее спасибо

еще несколько вопросов **

Помогают ли мне здесь URL-прозвища и асинхронные сменные протоколы? Поддерживается ли FireFox?

Ответы [ 2 ]

1 голос
/ 22 октября 2010

Если у вас есть контроль над сайтом, вы можете сделать так, чтобы он записывал куки на компьютер. Затем попросите монитор вашего приложения для этого куки.

0 голосов
/ 23 октября 2010

Вы можете реализовать это многими способами и на разных уровнях.

На самом высоком уровне вы можете реализовать плагин для браузера.На этом уровне нет кросс-браузерного решения, которое позволило бы вам написать код один раз и работать для каждого браузера.На простом конце спектра, Firefox, вы можете полностью реализовать его как плагин Javascript + XUL и использовать встроенные интерфейсы XPCom ( nsIProcess ) для запуска вашего вспомогательного процесса.Для IE вам нужно написать COM, C ++ и win32 BHO , которые обрабатывают DWebBrowserEvents2 :: BeforeNavigate2 .Это самая сложная вещь.Существуют механизмы для Safari, Chrome и других веб-браузеров, которые вы можете использовать для достижения того же поведения с различной степенью сложности.

На следующем уровне вы можете реализовать HTTP-прокси, аналогично Fiddler2 , который сначала перенаправляет весь HTTP-трафик через ваш локальный прокси.Каждый браузер имеет свой способ настройки параметров прокси-сервера, но все они в основном являются настройками реестра или файлами конфигурации.

На самом базовом уровне вы можете просто перехватить весь IP-трафик, исходящий из машины, подобнокак это делает Wireshark, и просто ищите http-запросы к вашему URL.Это, вероятно, более сложный код, но он будет работать для всех браузеров без каких-либо специальных настроек для каждого браузера.Возможно, вам придется написать драйвер.Я не знаю, я никогда не делал работу на этом уровне в стеке.

...