如何让javascript在调用QWebElement.appendInside('some html code')中工作?

Ser*_*gey 6 javascript qt dom webkit

我正在为即将在QWebView中显示聊天记录的客户端插件工作.插件必须支持html模板.现在我想通过追加调用QWebElement.appendInside("新消息")新的消息,如果在模板中有JavaScript源这是行不通的.例如,模板可能是这样的类型:

<!--MessageIn-->
<div class="space">&nbsp;</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>
Run Code Online (Sandbox Code Playgroud)

函数getitall()和animation1()将不会被执行.

我不能使用QWebElement.evaluatejavascript(),因为我不知道函数名称.

Ser*_*gey 1

解决方案是使用JQuery。看这个例子

//QString add contains block of HTML code

QWebElement bodyElem = webView->page()->mainFrame()->documentElement().findFirst("body");
add = "var $bodyy=$('body');"
+ "$bodyy.append('" + add + "');"
+ "null;";
bodyElem.evaluateJavaScript(add);
Run Code Online (Sandbox Code Playgroud)