2010-10-22 62 views
1

我正在編寫一個應用程序,一旦用戶瀏覽特定網址,該應用程序就變得「有用」。如何檢測用戶何時瀏覽特定網址?

我想功能添加到我的應用程序,它將一旦用戶瀏覽此網址,我想編寫某種看門狗來觸發它的自動啓動。

我的問題是,是否有當用戶瀏覽的網址,我想至少支持IE和Firefox,Chrome和Safari是好的,有得到通知的通用方式。

我讀到DDE和WWW_RegisterURLEcho,但是從我的理解有什麼不Firefox支持的,也是我寫了一點樣品不與IE瀏覽器正常工作。

預先感謝您

一些問題**

待辦事項地址名字對象和異步可插入協議幫助我在這裏?它由FireFox支持嗎?

回答

1

如果你有在網站的控制,你可以把它寫在用戶使用電腦。然後讓您的應用程序監視該cookie。

+0

沒有跨瀏覽器的方式來監控cookie。 – SLaks 2010-10-22 14:35:36

+0

當然有辦法看多個文件夾。您的應用程序必須設置爲監視IE,FF,Safari,Chrome等Cookie文件夾。 – Brad 2010-10-22 14:38:12

+0

感謝布拉德,但我希望找到更好的方法。此外,明天我可能想「監視」我不控制ebay.com的網站。所以我寧願找到一種方式,在那裏我得到通知哪個url用戶被導航。 – 2010-10-22 15:20:13

0

您可以通過多種方式和許多不同的層實現此功能。

在最高級別上,您可以實現一個瀏覽器插件。在這一層沒有跨瀏覽器的解決方案,它可以讓你編寫代碼一次併爲每個瀏覽器工作。簡單來說,Firefox可以完全實現爲Javascript + XUL插件,並使用內置的XPCom接口(nsIProcess)啓動輔助進程。對於IE,你需要編寫一個處理DWebBrowserEvents2::BeforeNavigate2的COM,C++和win32 BHO。這是最難的事情。 Safari,Chrome和其他瀏覽器的機制可以用來實現相同的行爲,並具有不同程度的難度。

在一個新的水平,你可以實現一個HTTP代理,類似Fiddler2,首先重定向通過本地代理的所有HTTP流量。每個瀏覽器都有不同的配置其代理設置的方式,但它們基本都是註冊表設置或配置文件。

在最基本的層面上,你可以只SNIF所有IP流量走出去的機器,類似Wireshark的做它的方式,只是找HTTP請求您的網址。這可能更難以編碼,但可以適用於所有瀏覽器,無需任何特殊的瀏覽器配置。你可能需要寫一個驅動程序。我不知道,我從來沒有在這個層面上完成任何工作。