Браузер на WebKit
Многим наверно не нравиться стандартный контрол WebBrowser на базе IE, потому что выскакивают разные ошибки при загрузке веб страницы и не слишком быстро загружаются страницы, как хотелось бы.
Сегодня мы напишем браузер используя контрол WebKitBrowser.
Теперь создайте новый проект, сохраните его на компьютере.
Извлеките архив.
Содержание архива :
Зайдите в папку bin
Скопируйте все (кроме WebKitBrowserTest.exe) файлы из папки bin в папку с проектом в папку Debug (пример D:/Проект/bin/Debug)
Перечень файлов, которые должны быть в папке Debug :
Переходим к проекту.
Кликните правой кнопкой мыши по панели элементов -> Выбрать элементы...
Нажимаем на Выбрать элементы...
Нажимаем кнопку Обзор... и выбираем из папки Debug - WebKitBrowser.dll
Потом появиться сообщение, нажимаем Да.
Нажимаем кнопку ОК.
Контрол WebKitBrowser добавился в ваш панель элементов :
Добавляем его на форму и еще один TextBox и Button.
Два раза кликаем по кнопке и пишем такой код :
WebKitBrowser1.Navigate(TextBox1.Text)
Запускаем F5.
Проверяем :
Пишем адрес какого-нибудь сайта и нажимаем на кнопку :
Все отлично открывается и главное быстро, даже при медленном соединении.
Если у вас не запустилось и выдало ошибку : проверьте все ли файлы вы поместили в папку Debug в месте с программой. Если ошибка не убралась пишите мне, помогу решить проблему.
Есть не большие минусы. Все эти файлы придется таскать за программой и размер увеличивается аж на 32 мб, использовать этот движок для написания хорошего браузера - плохая идея..
Добрый день, у меня не получается авторизоватся на любом сайте. По ссылкам и кнопкам переходит, при нажатии на кнопку "вход","авторизация" ничего не происходит.
это косяк самого движка. Я пробовал тоже с помощью него авторизоваться на сайте - аналогично.
Как заменить строку для
WebKitBrowser1, вместо элемента
WebBrowser1:Dim H As HtmlElementCollection =
WebBrowser1.Document.Body.GetElementsByTagName("a")
Как точно сказать не могу, но это можно. На форуме обсуждали такое, поищу и если найду дам ссылку.
Dim H As WebKit.Dom.NodeList =WebKitBrowser1.Document.GetElementsByTagName(«a»)
Не подойдёт?
Попробуйте.
System.ComponentModel.Win32Exception не обработано
HResult=-2147467259
Message=Failed to initialize activation context
Source=WebKitBrowser
ErrorCode=-2147467259
NativeErrorCode=2
StackTrace:
в WebKit.ActivationContext.Initialize()
в WebKit.WebKitBrowser..ctor()
в WindowsFormsApplication9.Form1.InitializeComponent() в c:\Users\AYSEN\Documents\Visual Studio 2012\Projects\WindowsFormsApplication9\WindowsFormsApplication9\Form1.Designer.cs:строка 33
в WindowsFormsApplication9.Form1..ctor() в c:\Users\AYSEN\Documents\Visual Studio 2012\Projects\WindowsFormsApplication9\WindowsFormsApplication9\Form1.cs:строка 17
в WindowsFormsApplication9.Program.Main() в c:\Users\AYSEN\Documents\Visual Studio 2012\Projects\WindowsFormsApplication9\WindowsFormsApplication9\Program.cs:строка 19
в System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
в System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
в Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
в System.Threading.ThreadHelper.ThreadStart_Context(Object state)
в System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
в System.Threading.ThreadHelper.ThreadStart()
InnerException:
Подробней. Что вы сделали, что появилась ошибка?
не работает alert((((
Что именно?
Добрый день, у меня Visual Studio 2013 Ultimate, а в списке выбора элементов (.Net Framework) нет элемента WebKitBrowser хотя всё делал по инструкции. Подскажите как это исправить, если это вообще можно сделать.
В этом окне нажми обзор и из Debug ( куда Ты закинул файлы ) выбирай WebKitBrowser.dll. Далее жми ОК! Внизу в списке элементов появится WebKitBrowser