![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Pcrepair |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
Добрый день
есть код
Результаты: 1. компиляция без ошибок (РАД2010) 2. если вставить в МЕМО1 1+5, в МЕМО2 выводит 6, так, к примеру, типа арифметика работает 3. если взять с закачаной страницы какой нибуть жаба-скрипт между тегов (<script language="Javascript">f_bottom('<br>', '', '')</script>) и вставить его в МЕМО1 то выскакивает сообщение: "Предполагается наличие объекта" или "Предполагается ...что то еще" и другие сообщения об ошибке Вопрос для знатоков: 1. вообще TScriptControl + idHTTP можно как то приспособить для обработки скриптов в закачаной странице, типа как это делает браузер, или оно для чего то иного предназначено? 2. кто нибуть знает как в браузерах типа Гекко или Хромиум, или в других компонентах (Твеббраузер, Embedded Web Browser, THtmlViewer, WebKit) происходит обработка скриптов, в том смысле - нельзя ли их как то приспособить (использовать часть их кода) для обработки скриптов, без отображения результатов обработки в визуальном компоненте. В общем нужно следующее - idHTTP закачал страницу - интерпретатор JAVA обработал скрипты в коде страницы и вставил на их место результат работы Всем ответившим - СПАСИБО --------------------
Сборник рабочего кода Процедур и Функций DelPhi http://validcoderepo.narod.ru/ |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
JavaScript на странице подразумевает наличие контекста документа в котором он выполняется.
В отрыве от документа, скрипт обычно выполнить невозможно. Соответственно браузеры разбирают текст страницы и генерируют страницу, создавая все описанные в ней объекты. Соответственно, чтобы корректно интерпретировать скрипт со страницы, требуется браузерный движок. А данный контрол возможно приспособить только для конкретной страницы, предварительно сэмулировав необходимый набор объектов. Но для этого нужно разбираться в JavaScript, чтобы его обмануть. |
|||
|
||||
| Pcrepair |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
википудия говорит: Браузерный движок (англ. layout engine) — представляет собой программу, преобразующую содержимое веб-страниц (файлы HTML, XML, цифровые изображения и т. д.) и информацию о форматировании (в форматах CSS, XSL и т. д.) в интерактивное изображение форматированного содержимого на экране. если по простому - просто обозреватель или браузер получается, нужно приискать современный браузер (хромиум или гекко), но целиком в виде кода, чтоб потом кастрировать, оставив нужное. наврядли можно написать браузер, корректно обрабатывающий современные ХТМЛ-страницы с нуля? с другой стороны, на делфи исходников нет (для хромиума нужно ДЛЛ в каталог с прогой копировать + компонент), выходит на Делфи такое реально не сделать? впрочем на С++ полных исходников то же что не видно. или кто то знает где качнуть? --------------------
Сборник рабочего кода Процедур и Функций DelPhi http://validcoderepo.narod.ru/ |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
А чем не устраивает стандартный TWebBrowser?
|
|||
|
||||
| Pcrepair |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
если коротко - то всем
если детально 1. визуальный компонент в принципе не нужен 2. результат обработки кода закачанной страницы, отображенный, выделенный и скопированный в буфер обмена (а иначе никак) содержит много мусора, не восстанавливает ссылки полностью 3. очень некорретно определение времени окончания закачки 4. загрузка ненужного (картинки, флеш, что то там еще) - лишний трафик и время 5. использование КЛИПБОРД (Это принципиально) - из за чего программа должна быть все врема активна, иначе не получит доступа к буферу ОС - надо все пихать в вирт машину у остальных движков почти те же проблемы, оне же визульные для хомо а мне нужна программа которая будет тихо, незаметно выполнять возложенные на нее задачи --------------------
Сборник рабочего кода Процедур и Функций DelPhi http://validcoderepo.narod.ru/ |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
1. Можно его спрятать - будет невидимый.
2. мусор можно почистить 3. проблема непонятна 4. это можно отключить 5. использовать клипборд как минимум дурной тон. Не вижу в этом никакой необходимости. ну а в целом всё зависит от того, что требуется - универсальная машина, или только реализация конкретных действий с конкретным набором страниц. |
|||
|
||||
| Pcrepair |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
это не дурной тон, а единственный способ получить результат обработки скриптов. все остальные способы типа иннерхтмл просто выдают закачный, но не обработанный код страницы --------------------
Сборник рабочего кода Процедур и Функций DelPhi http://validcoderepo.narod.ru/ |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Всю информацию нужно брать из DOM структуры документа.
Именно её меняет JavaScript. А иннерхтмл конечно будет давать закачанный код. Тут никто и не спорит. А вот юзать буфер обмена некрасиво хотя бы потому, что он предназначен для использования юзером. И ему может показаться неприятным, что он скопировал туда нужную ему информацию, а вставил какую-то хрень, которую туда самовольно засунула в него твоя программа. |
|||
|
||||
| Pcrepair |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
теория конечно интересная нет все понятно, но шо конкретно(С) --------------------
Сборник рабочего кода Процедур и Функций DelPhi http://validcoderepo.narod.ru/ |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |