Estoy trabajando en el complemento para el cliente im que se mostrará chatlog en QWebView. El complemento debe ser compatible con plantillas html. Ahora estoy intentando añadir nuevos mensajes mediante la llamada QWebElement.appendInside ('mensaje nuevo') y si en la plantilla hay una fuente de JavaScript, no funciona. Por ejemplo plantilla puede ser tal tipo:¿Cómo obtener javascript funcionando en la llamada QWebElement.appendInside ('algún código 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>
Funciones getitall() y animation1() no será ejecutado.
No puedo usar QWebElement.evaluatejavascript() porque no conozco los nombres de las funciones.
Puede buscar nodos en la plantilla, luego leer su contenido y evaluarlo. –
Hay otro problema con ** evaluatejavascript() **: si se usa ** document.write() ** en la función de JavaScript (en plantilla), el resultado de esto reemplazará a DOM completo. – Sergey
es mi error. el método ** document.write ** no debe usarse en la página cargada. ** evaluateJavaScript ** es adecuado. – Sergey