Delphi чем выполнить HTML с javascript

356
13 мая 2017, 18:15

Что есть сейчас: локально сохранённая html страница с js, меняя в которой некоторые параметры получаем разное содержимое.

Что нужно: загрузить код этой страницы в переменную, открыть, сохранить получившийся код (результат работы js). В идеале подошел бы IdHTTP (Indy), но не могу понять можно ли в него загрузить HTML код вместо URL. Подскажите, чем это можно сделать (без использования элементов-браузеров)?

Answer 1

Кроме браузеров - больше нечем, поскольку JavaScriptом занимается движок JS (например, V8 в Chromium) и API (DOM, BOM и другие). Парсинг HTML еще имеет смысл делать отдельной библиотекой, поэтому такие бывают. С большой натяжкой - CSS. Но JS со всеми API - это уж точно будет браузер.

Существуют браузеры, поддерживающие работу "offscreen", то есть без визуализации (хотя всегда возможен костыль типа убрать окно за пределы экрана и т.п.)

В Delphi можно использовать стандартный TWebBrowser, но это Осел со всеми вытекающими. Еще в Delphi точно можно использовать CEF через оболочку dcef3, он лучше, но мне тоже не понравился, есть шероховатости, годится только для таких вот задач, а именно для Web UI я его не стал использовать.
А лучше сразу работать с теми технологиями, которые пригодятся не раз.

"Рулит", пожалуй, Awesomium, но он только для .NET.

Так что, ИМХО, в идеале вам бы не только освоить "новые" для вас "элементы-браузеры", но и перейти уже на новый язык.
Ведь браузеры - это далеко не единственная проблема, которая легко решается на .NET и с трудом - на Delphi, с богатым прошлым, но унылым настоящим.
Увы.

Хотя, и дельфисты все еще востребованы, но обычно на старых проектах.
Ибо зачем на ней писать новый? Как правило - незачем. Снова увы.

READ ALSO
Не переводит части шаблона при переходе на украинский язык

Не переводит части шаблона при переходе на украинский язык

Когда выбираю украинский язык в настройках Wordpress, то частично текст в теме шаблона остаётся на английском языке, например на странице Мой...

243
Смена bacground-image в слайдах owl-carousel при смене слайда

Смена bacground-image в слайдах owl-carousel при смене слайда

Здраствуйте, мой вопрос вот в чем: у мнея есть слайдер, в нем есть 3 слайда, мне нужно чтобы, при смене слайда, у него менялся background-image ( пропадал,...

223
Вставка ссылки viber на сайт

Вставка ссылки viber на сайт

Вставил ссылку на viber <a class="viber" href="viber://add?number=380683399995"></a> но при переходе в само приложение viber отображается:

1151