này sẽ không dễ dàng: các trình duyệt Web là pháo đài vì lo ngại an ninh. Vì vậy, nó khá khó để có được từ JS trong một trang web để một cái gì đó bên ngoài của trình duyệt.
Ngoài ra, QtWebKit không phải là API rất mở. Trở ngại lớn nhất trong trường hợp của bạn là nó không cung cấp cho bạn quyền truy cập vào DOM, vì vậy bạn chỉ có thể thay thế toàn bộ HTML.
Vì vậy, bạn cần vá và viết nhiều mã để triển khai các API và chức năng bị thiếu.
Kể từ khi phiên bản 4.6 đã được phát hành, có QWebElement (see the docs để biết ví dụ), vì vậy bạn ít nhất có thể truy cập DOM và sửa đổi nó. Điều đó sẽ làm cho rất nhiều thứ đơn giản hơn. Tôi đề nghị quyết định ai điều khiển trình duyệt: Ứng dụng của bạn có phải là JavaScript gọi bên ngoài hay là ứng dụng thực sự trong C++ và bạn sử dụng trình duyệt làm trình kết xuất đồ họa thông minh?
Một cách đơn giản hơn nhiều có thể là để làm cho công việc ý tưởng của bạn sẽ bắt đầu một máy chủ web nội bộ khi bắt đầu ứng dụng của bạn và sau đó mở một cái nhìn QtWebKit trỏ đến URL của máy chủ địa phương. Sau đó, bạn có thể sử dụng tất cả các công cụ phát triển web chuẩn. Eclipse sử dụng kỹ thuật này cho hệ thống trợ giúp nội bộ của nó.
Nguồn
2010-01-11 09:15:02
doeesn't QWebElement và QWebElementSelection cấp quyền truy cập để thao tác các phần tử DOM ?? –
Nó ........ –
Tôi không biết rằng Qt 4.6 đã được phát hành. Bạn nói đúng, hãy xem liên kết này: http://doc.trolltech.com/4.6/qt4-6-intro.html#dom-access-api –