J'essaie d'écrire un simple visualiseur de journal en utilisant le port/implémentation WebKit de Qt4. Mon code HTML ressemble à ceci:Qt4: Comment appeler les fonctions JavaScript dans une page à partir de C++ via QtWebkit?
Plus précisément, je suis en train de savoir comment appeler la fonction add_message() qui est défini dans la section <script>
dans le document HTML à partir de mon code C++.
// Doesn't work:
QWebElement targetElement = chatView->page()->mainFrame()->findFirstElement("head").firstChild("script");
// Function is not included, either...
qDebug() << targetElement.tagName() << targetElement.functions();
// The ultimate attempt in calling the function anyway:
QVariant functionResult = targetElement.callFunction("add_message");
Merci, je vais essayer tout de suite quand je rentre à la maison. Bien que cela ressemble à devoir échapper les arguments pour les utiliser comme des littéraux dans l'appel evaluateJavaScript(). N'est-ce pas dangereux ou quelque chose? – BastiBen
Oui, vous devez échapper des arguments, parce que JavaScript va générer des erreurs. Il ne devrait pas être dangereux, car il vous échapper seulement pour l'analyseur JavaScript, à l'intérieur de webkit il apparaîtra même comme paramètre non échappé –