Ich arbeite am Plugin für einen Client, der in QWebView Chatlog anzeigen wird. Plugin muss HTML-Vorlagen unterstützen. Jetzt versuche ich, neue Nachrichten durch Aufruf von QWebElement.appendInside ('neue Nachricht') anzuhängen, und wenn in der Vorlage JavaScript-Quelle ist, funktioniert es nicht. Zum Beispiel Vorlage kann eine solche Art sein:Wie JavaScript in Call QWebElement.appendInside ('einige HTML-Code') arbeiten?
<!--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>
Funktionen getitall() und animation1() nicht ausgeführt werden.
Ich kann QWebElement.evaluatejavascript() nicht verwenden, weil ich keine Funktionsnamen kenne.
Sie können in der Vorlage nach Knoten suchen, dann deren Inhalt lesen und auswerten. –
Es gibt ein anderes Problem mit ** evaluatejavascript() **: Wenn ** document.write() ** in der JavaScript-Funktion (in der Vorlage) verwendet wird, dann wird das Ergebnis das gesamte DOM ersetzen. – Sergey
es ist mein Fehler. methode ** document.write ** sollte in geladenen Seiten nicht verwendet werden. ** evaluateJavaScript ** ist geeignet. – Sergey