Ser*_*gey 6 javascript qt dom webkit
我正在为即将在QWebView中显示聊天记录的客户端插件工作.插件必须支持html模板.现在我想通过追加调用QWebElement.appendInside("新消息")新的消息,如果在模板中有JavaScript源这是行不通的.例如,模板可能是这样的类型:
<!--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>
Run Code Online (Sandbox Code Playgroud)
函数getitall()和animation1()将不会被执行.
我不能使用QWebElement.evaluatejavascript(),因为我不知道函数名称.
解决方案是使用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)
| 归档时间: |
|
| 查看次数: |
1379 次 |
| 最近记录: |