有沒有什麼辦法可以告訴我的網站是否被webbrowser控件的一個實例訪問?是否有可能通過用戶代理w/php來識別它?或者,也許一些JavaScript黑客?或者它與服務器端的常規IE完全相同?檢測WebBrowser控件
7
A
回答
3
只是一個愚蠢的想法,但難道你只是比較window.outerHeight
與window.innerHeight
,衡量IE的預期差異,如果它不是它的WebBrowser控制?
多數民衆贊成在地獄,但可以在大多數情況下工作。還有其他的東西你可以嘗試去做,在IE中以某種方式工作的東西,但可能不會在WebBrowser控件中工作。
例如:
- 要下載的文件
- 打開一個新窗口/標籤
+0
我不明白這是如何可靠的。 'outerHeight'和'innerHeight'之間的區別受用戶喜好的影響。顯示或隱藏書籤欄或菜單將影響差異。 (我在IE中統計了4個易於訪問的選項,這些選項會影響差異。)打開或關閉調試面板也會影響它。縮放也會影響它。 (我沒有想到,但我們在這裏)。然後有一些像一般的用戶界面偏好。使用與默認不同的主題可能會改變這兩個數字之間的差異。 – Louis 2017-07-20 15:28:19
2
看來,當任何分配給window.external
特定引發錯誤。所以支票可能類似於
const isWebBrowserControl =() => {
try {
window.external = window.external
return false
} catch (error) {
if (error.message === 'I don\'t remember this. Some specific error message.') {
return true
}
}
雖然這是一個潛在的「破壞性」檢查。但我真的不覺得它會導致任何問題。
相關問題
- 1. C#在webbrowser控件中檢測回傳
- 2. WebBrowser控件:檢測導航故障
- 3. 如何檢測WebBrowser控件的documentready事件?
- 4. 如何檢測WebBrowser控件的複製事件?
- 5. 如何在WebBrowser控件中檢測導出
- 6. 在WebBrowser控件中檢測HTML內容的實際大小
- 7. 如何檢測Web頁面何時完成加載WebBrowser控件?
- 8. 在VB.NET中檢測Javascript html頁面修改Webbrowser控件
- 9. vb.net檢測如果在Webbrowser控件中單擊一個鏈接
- 10. 使用.Net WebBrowser控件時可以檢測錯誤嗎?
- 11. 檢測脫機 - 在C#WebBrowser組件中?
- 12. WebBrowser控件
- 13. WebBrowser控件
- 14. WebBrowser控件C#
- 15. Overlay WebBrowser控件
- 16. WebBrowser控件ScreenShot
- 17. WebBrowser控件
- 18. 從WebBrowser控件
- 19. WPF WebBrowser - 檢測重定向?
- 20. WebBrowser控制檢查域
- 21. WebBrowser控件和cookies
- 22. BackgroundWorker和WebBrowser控件
- 23. 在WPF WebBrowser控件
- 24. 點擊WebBrowser控件
- 25. 替代Webbrowser控件
- 26. WebBrowser控件和loadfinish
- 27. InputBinding和WebBrowser控件
- 28. Windows Phone WebBrowser控件
- 29. 運行WebBrowser控件
- 30. WebBrowser控件問題
它_is_ IE。就我所知,這是完全相同的代碼。 – 2010-02-04 00:28:11
「Internet Explorer」基本上是一個圍繞Web瀏覽器控件的薄UI。 – 2010-02-04 00:31:44
根據[此回答](https://stackoverflow.com/a/4357982/1009922)和[這個更新的文章](https://blogs.msdn.microsoft.com/patricka/2015/01/12/controls-webbrowser-control-compatibility /),WebBrowser控件在其用戶代理字符串中顯示「MSIE 7.0」。我認爲這與實際的IE7瀏覽器或更新的版本7兼容模式下的IE瀏覽器無法區分。 – ConnorsFan 2017-07-18 14:26:11