Инди может запустить JavaScript?

Существует программный продукт под названием AnyChart, который является большим для встраивания Высвеченных основанных диаграмм в веб-страницах. AnyCharts может также экспортировать в формат файла PNG. Вот пример:

<script type="text/javascript" language="javascript">
    //<![CDATA[
    var chart = new AnyChart('http://www.mysite.com/swf/AnyChart.swf');
    chart.width = 600;
    chart.height = 300;
    chart.setXMLFile('http://www.mysite.com/anychart.xml');
    chart.addEventListener("draw", function() { saveChartAsImage(chart); });
    chart.write("content-box");
    //]]>
</script>

Моя конечная цель должна сделать автоматизированный сервис для экспорта диаграмм AnyChart в формат PNG. Таким образом, я сделал сервис с Инди, которая называет страницы, содержащие AnyChart javascript. Но проблема, кажется, что Инди не может выполнить JavaScript.

Существует ли способ позволить Инди выполнить JavaScript?

5
задан Rob Kennedy 12 February 2010 в 07:05
поделиться

3 ответа

Нет, Indy не выполняет Javascript. Вы также могли заметить, что он не анализирует и не отображает HTML, и он также не запускает Flash. Indy выполняет сетевые протоколы.

Вы можете импортировать объект Microsoft Script Control ActiveX и заставить его выполнять ваш Javascript. Если вам нужны подробности об этом, задайте новый вопрос.

7
ответ дан 13 December 2019 в 19:26
поделиться

Вам не обязательно использовать Indy для этого. Если вы хотите, вы можете использовать TWebBrowser. В интерфейсе IHTMLWindow2 есть функция execScript. Так что вы можете :

var
  Doc : IHTMLDocument2;
  Win : IHTMLWindow2;
  aBrowser : TWebBrowser; 
//...
begin
  //...
  Doc := aBrowser.Document as IHTMLDocument2;
  Win := Doc.parentWindow;
  Win.execScript('alert(SomeMessage);', 'JavaScript');
end;
3
ответ дан 13 December 2019 в 19:26
поделиться

Вы пробовали vcl FOR THE web (aka Intraweb atozed)? Есть версия teechart, которая довольно полезна, вы также можете выполнять "внешний" код javascript в любой из TiwForms вашего веб-приложения (точно такой же код вы используете сейчас).

Задайте новый вопрос, если нужно, и я буду рад помочь.

1
ответ дан 13 December 2019 в 19:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: