2010-10-22 6 views
1

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

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

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

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

Спасибо заранее

некоторые другие вопросы **

Do Url Monikers и асинхронные Съемные протоколы помочь мне здесь? Поддерживается ли это FireFox?

ответ

1

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

+0

Нет никакого способа просмотра браузера для просмотра в браузере. – SLaks

+0

Наверняка есть способы смотреть несколько папок. Ваше приложение должно быть настроено для мониторинга файлов cookie IE, FF, Safari, Chrome и т. Д. – Brad

+0

Спасибо, Брэд, но я надеюсь найти лучший способ. Кроме того, завтра я, возможно, захочу «посмотреть» на сайте, который я не контролирую, как ebay.com. Поэтому я предпочел бы найти способ, по которому я получаю уведомление о том, к какому пользователю навигатор перемещается. –

0

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

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

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^