gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 05:36:37 24 4
gpt4 key购买 nike

我正在为 im 客户端开发插件,它将在 QWebView 中显示聊天记录。插件必须支持 html 模板。现在我正在尝试通过调用 QWebElement.appendInside(‘new message’) 来附加新消息,如果模板中有 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>

函数 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);

关于javascript - 如何让 javascript 在调用 QWebElement.appendInside ('some html code' 时工作)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12854882/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com