मैं Qt4 के वेबकिट पोर्ट/कार्यान्वयन का उपयोग करके एक साधारण लॉग व्यूअर लिखने की कोशिश कर रहा हूं। मेरे एचटीएमएल कोड इस तरह दिखता है:क्यूटी 4: क्यूटीवेबिट के माध्यम से सी ++ से किसी पृष्ठ में जावास्क्रिप्ट फ़ंक्शंस को कैसे कॉल करें?
अधिक विशेष रूप से, मैं पता लगाने के लिए add_message() फ़ंक्शन जो मेरे सी ++ कोड से HTML दस्तावेज़ में <script>
खंड में परिभाषित किया गया है कॉल करने के लिए कोशिश कर रहा हूँ।
// 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");
धन्यवाद, मैं घर आने पर तुरंत इसे आजमाउंगा। हालांकि ऐसा लगता है कि मुझे मूल्यांकन जावास्क्रिप्ट() कॉल में शाब्दिक के रूप में उपयोग करने के लिए तर्कों से बचना है। क्या यह खतरनाक या कुछ नहीं है? – BastiBen
हां, आपको तर्क से बचना होगा, क्योंकि जावास्क्रिप्ट त्रुटियों को उत्पन्न करेगा। यह खतरनाक नहीं होना चाहिए, क्योंकि आप इसे केवल जावास्क्रिप्ट पार्सर से बचते हैं, वेबकिट के अंदर यह अनचाहे पैरामीटर के समान दिखाई देगा –