我正在为社交网络写信使。 它是如何运作的:
以下是一些代码:
void Messenger::loadedMoreDialogs() {
QString javascript;
javascript += "html = \"" + dialogsHtml + "\";";
javascript += "$('#dialogList').append(html);";
javascript += "$('#name').html('" + name + "');";
javascript += "$('#surname').html('" + surname + "');";
javascript += "$('#loading').hide(200);";
for (int i = 0; i < usersInfo.count; i++) {
javascript += QString("$('#owner") + QString::number(usersInfo.list[i].id) + QString("').html('") + usersInfo.list[i].name + QString(" ") + usersInfo.list[i].surname + QString("');");
javascript += QString("$('#avatar_dialog") + QString::number(usersInfo.list[i].id) + QString("').prop('src', '") + usersInfo.list[i].avatar_50 + QString("');");
}
javascript += "$('img[chat=\"1\"]').replaceWith($('<div class=\"confAvatar\"> </div>'));";
browser->page()->mainFrame()->evaluateJavaScript(javascript);
}
所以,当我执行JS(在函数的最后一行)时,浏览器会在~1秒后冻结。
答案 0 :(得分:0)
好的伙计们,问题解决了。这是JQuery。我刚删除它。现在没有滞后。