2014-11-22 3 views
0

소셜 네트워크 용 메신저를 쓰고 있습니다. 즉, 작동 방법은 다음과 같습니다QWebView : JS 실행시 뒤처짐

  1. QWebView에 있음을 표시 사용자
  2. 에 대한 API
  3. 얻기 정보 (이름, 아바타)와 대화 상자의 목록을 가져 오기. 난 (함수의 마지막 줄에서) JS를 실행하고있을 때

    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); 
    } 
    

    그래서, 브라우저가 ~ 일초에 동결 될 : 여기

몇 가지 코드입니다.

답변

0

좋아, 문제가 해결되었습니다. 그것은 JQuery였습니다. 방금 제거 했어. 이제 어떤 지체도 없습니다.