В качестве вопроса, который может помочь, я удивляюсь, почему браузеры не допускают прокси для (скажем) окна / вкладки?Я думаю, что во многом из-за недостатка времени разработки.
Это также может быть связано с тем, что браузеры [предположительно] имеют централизованные механизмы для таких вещей, как веб-запросы и кеши и т. Д. Возможноразрешение прокси для каждого окна и / или вкладки в корне изменит дизайн современного браузера и окажет негативное влияние на производительность.Я действительно не знаю.Чтобы проиллюстрировать это далее, рассмотрим такие вещи, как режим инкогнито и приватный просмотр.В этих случаях браузеры, по крайней мере, концептуально делали отдельные кэши для окон ... но я все еще держу пари, что окно Incognito и стандартное окно (в Chrome) используют один и тот же базовый механизм веб-запросов.
Rightсейчас так много людей, которым нужен синтаксический анализатор и интерпретатор JavaScript и DOM.Такие проекты, как HtmlAgility Pack и Jint , помогают, но, похоже, единого и стандартного решения не существует;по крайней мере, один с простотой веб-браузера.
[напыщенная речь ниже] ...
К сожалению, такие проекты, как Jint и HtmlAgility, вызывают беспокойство.Во-первых, это не IE, Chrome, Safari или FireFox.Вы точно не знаете, во что вы ввязываетесь.Например, вы знаете, что на странице Chrome xyz.com отлично загружается и рендерится.Вы можете запустить FireFox и увидеть, что, возможно, что-то не так и так с другими браузерами.Но с этими библиотеками вы действительно не знаете, что, если не все работает правильно (нет визуального отображения для быстрой проверки).Плюс, кто знает, в каком темпе они развиваются.Они идут в ногу с HTML5?Они отстают от основных браузеров?Как насчет производительности?Более того, в браузерах уже есть такие вещи, как кэширование и повышение производительности, которые, я сомневаюсь, вы получите с отдельными библиотеками.
Лучшее управление браузером, конечно, будет примерно таким:
IWebBrowser browser = new IE();
IWebBrowser browser = new Chrome();
IWebBrowser browser = new Safari();
IWebBrowser browser = new FireFox();
Я думаю, что это мечта, к сожалению.С одной стороны, что, если вы когда-нибудь хотели загрузить плагины с этими?А как насчет пользовательских профилей, пользовательских логинов и так далее?Я думаю, что большинству из нас нужны только браузеры без этих дополнений.
Я действительно надеюсь, что вы найдете хорошее решение для Chrome.Я не знаю, какая удача, если таковая будет, у вас будет в сфере FireFox - может, вы сможете держать нас в курсе?Эти решения развиваются так быстро - я никогда даже не слышал о CefSharp или WebKit.NET до сегодняшнего дня, и несколько месяцев назад я искал то же самое (браузеры Chrome и / или FireFox .NET) для собственного использования.Было бы здорово, если бы множество людей собралось вместе, сделало стандартный интерфейс, а затем каждая компания создала свой встроенный браузер в соответствии со спецификацией.Вот для желающих.