Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ Браузер

Автор: sheka 27.09.2011 1:08

Нужно использовать браузер в приложении на Делфи.
TWebBrowser, как, собственно, и Internet Explorer выкаблучиваются при открытии некоторой страницы. Они не корректно работают с javascript. Прикрепленное изображение
Как решить эту проблему? (Остальные браузеры работают замечательно)

Я пошел напрямик и решил заменить TWebBrowser. На что? Ну на то, что первое попалось и то, что работает (должно работать smile.gif ). Этим оказалось Gecko. Но Gecko для Делфи - что-то загадочное и очень старое, а новое - не для Делфи.Прикрепленное изображение

Так какие же все таки будут решения?

Автор: мисс_граффити 27.09.2011 1:36

На странице ошибка есть или это капризы компонента? В "остальных браузерах" может быть просто включено игнорирование ошибок...

Автор: sheka 27.09.2011 1:40

Не знаю. Но оно замечательно работает в других браузерах.
С Gecko (тем, которым предупреждение выдает) ошибку не выдает, но и не обрабатывает скрипт так как нужно.

Автор: IUnknown 27.09.2011 5:35

Пример подобной страницы (которая не открывается TWebBrowser-ом) будет, или будем гадать на кофейной гуще, что там происходит?

Цитата
С Gecko (тем, которым предупреждение выдает) ошибку не выдает, но и не обрабатывает скрипт так как нужно.
Это не значит, что
Цитата
оно замечательно работает в других браузерах.
Это значит, что оно просто замалчивает ошибку. TWebBrowser тоже умеет их замалчивать, так что адрес - в студию...

Автор: sheka 27.09.2011 5:49

И как можно его этому научить?
Как вы понимаете если изменение сайта не предполагается, то ошибку надо обойти.

Автор: IUnknown 27.09.2011 5:55

Цитата(sheka @ 27.09.2011 1:49) *
И как можно его этому научить?

http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/SHDocVw_TWebBrowser_Silent.html smile.gif

Автор: sheka 27.09.2011 6:02

Ну это делает как раз "Браузер.Заткнись", т.е. глушит сообщения браузера, но, к сожалению, это не приводит к правильной обработке java-скрипта, который в свою очередь обрабатывается нормально другими браузерами.

Автор: IUnknown 28.09.2011 13:43

sheka, плюс к ChromeFrame, на который я тебе уже давал ссылку, есть еще http://code.google.com/p/delphichromiumembedded/ (этот проект по крайней мере не заброшен, как Gecko).

Больше ничего вразумительного, похоже, нет.

Автор: TarasBer 28.09.2011 15:01

Это компонент, который работает через движок гуглохрома?

Автор: IUnknown 28.09.2011 15:35

Через CEF (Chromium Embedded Framework), там 3 DLL-ки в минимальной поставке и обертка на Дельфи, то есть, сам Chrome даже не должен быть установлен.

Автор: TarasBer 28.09.2011 16:00

Звучит неплохо.

Автор: sheka 29.09.2011 1:12

Volvo, работает!
(правда с маленькими потугами, видимо думает что же ему делать smile.gif )

Автор: IUnknown 29.09.2011 3:27

Цитата
правда с маленькими потугами, видимо думает что же ему делать
Это зависит от объема JS-кода на страницах. Чем больше кода - тем больше будет задумываться.