2010-02-12 17 views
5

Có một sản phẩm phần mềm có tên AnyChart rất tuyệt để nhúng các biểu đồ dựa trên Flash vào các trang web. AnyCharts cũng có thể xuất sang định dạng tệp PNG. Dưới đây là ví dụ:Có thể Indy chạy Javascript không?

<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> 

Mục tiêu cuối cùng của tôi là tạo dịch vụ tự động xuất các biểu đồ AnyChart sang định dạng PNG. Vì vậy, tôi đã thực hiện một dịch vụ với Indy gọi các trang chứa javascript AnyChart. Nhưng vấn đề dường như là Indy không thể thực thi javascript.

Có cách nào để cho phép Indy thực thi javascript không?

Trả lời

7

Không, Indy không thực thi Javascript. Bạn cũng có thể nhận thấy rằng nó không phân tích cú pháp hoặc hiển thị HTML, và nó cũng không chạy Flash. Indy thực hiện giao thức mạng.

Bạn có thể nhập đối tượng ActiveX Control Microsoft Script và có rằng chạy Javascript của bạn. Nếu bạn cần chi tiết về điều đó, hãy đăng câu hỏi mới.

3

Bạn không phải sử dụng Indy cho việc này. Nếu bạn muốn, bạn có thể sử dụng TWebBrowser. Giao diện IHTMLWindow2 có chức năng execScript. Vì vậy, có thể bạn có thể:

var 
    Doc : IHTMLDocument2; 
    Win : IHTMLWindow2; 
    aBrowser : TWebBrowser; 
//... 
begin 
    //... 
    Doc := aBrowser.Document as IHTMLDocument2; 
    Win := Doc.parentWindow; 
    Win.execScript('alert(SomeMessage);', 'JavaScript'); 
end; 
+0

Cảm ơn bạn. Tôi sẽ phải truy tìm giao diện IHTMLWindow2. –

1

Bạn đã thử vcl CHO web (hay còn gọi là Intraweb atozed)? Có một phiên bản teechart khá hữu ích, bạn cũng có thể thực thi mã javascript "bên ngoài" bên trong bất kỳ TiwForms nào của ứng dụng web của bạn (chính mã mà bạn đang sử dụng bây giờ).

Đăng câu hỏi mới nếu bạn cần và tôi rất sẵn lòng trợ giúp.

Các vấn đề liên quan