मैं आईएम क्लाइंट के लिए प्लगइन पर काम कर रहा हूं जो QWebView में चैटलॉग दिखाएगा। प्लगइन एचटीएमएल टेम्पलेट्स का समर्थन करना चाहिए। अब मैं QWebElement.appendInside ('नया संदेश') कॉल करके नए संदेशों को जोड़ने की कोशिश कर रहा हूं और यदि टेम्पलेट में जावास्क्रिप्ट स्रोत है तो यह काम नहीं करता है।कॉल में काम कर रहे जावास्क्रिप्ट को कैसे प्राप्त करें QWebElement.appendInside ('कुछ HTML कोड')?
<!--MessageIn-->
<div class="space"> </div>
<div class="in MessageIn" id="oneShot">
<div class="tr">
<div class="bl">
<div class="br">
<p class="head">
<span class="time" id="time">%time%</span>
<span class="name" id="name">%name%</span>
</p>
<p class="content">
<span class="text" id="text"><script>getitall('%text%','%name%','%cid%','%base%',meldungsart[0]);</script></span>
</p>
</div>
</div>
</div>
</div>
<script type="text/javascript">animation1();</script>
कार्य getitall() और animation1() निष्पादित नहीं किया जाएगा: उदाहरण टेम्पलेट के लिए इस प्रकार हो सकता है।
मैं QWebElement.evaluatejavascript() का उपयोग नहीं कर सकता क्योंकि मुझे फ़ंक्शन नाम नहीं पता हैं।
आप टेम्पलेट में नोड्स की खोज कर सकते हैं, फिर इसकी सामग्री पढ़ सकते हैं और इसका मूल्यांकन कर सकते हैं। –
** मूल्यांकनेटास्क्रिप्ट() ** के साथ एक और समस्या है: यदि ** document.write() ** जावास्क्रिप्ट फ़ंक्शन (टेम्पलेट में) में उपयोग किया जाता है तो इसका परिणाम पूरे डोम को प्रतिस्थापित करेगा। – Sergey
यह मेरी गलती है। विधि ** document.write ** लोड किए गए पृष्ठ में उपयोग नहीं किया जाना चाहिए। ** मूल्यांकन जावास्क्रिप्ट ** उपयुक्त है। – Sergey