2013-01-25 3 views
0

누군가 내 JavaScript 함수가 호출되지 않는 이유를 설명해 주실 수 있습니까?QWebFrame/QWebView에서 Javascript 함수가 호출되지 않음

JS 기능은 다음과 같습니다

function loadKMLFile(kmlUrl) 
{ 
    alert('in loadKMLFile().'); 
    google.earth.fetchKml(ge, kmlUrl, finishFetchKml); 
} 

내 C++ Qt는 코드입니다 : 내 응용 프로그램을 실행하면

void MainWindow::on_loadKML_button_clicked() 
{ 
    QString fileUrl = ui->textEdit->toPlainText(); // Get path to file 
    ui->webView->page()->mainFrame()->evaluateJavaScript("loadKMLFile(" + fileUrl + ")"); 
} 

, 내가로드하는 파일의 경로를 입력합니다. 위의 C++ 메서드와 evaluateJavaScript를 통해 경로에서 전달 된 호출에 의해 추출됩니다.

전달 된 경로가 빈 문자열이면 JS 함수가 호출되고 경고 상자가 나타납니다. 텍스트 편집에서 단일 문자 (전체 경로는 제외)를 넣으면 함수가 호출되지 않습니다. 경고 상자가 나타나지 않습니다.

감사하게 생각하는 아이디어가 있습니다.

답변

0

이미 자바 스크립트를 사용하셨습니까?

webView->page()->settings()->testAttribute(QWebSettings::JavascriptEnabled); 

은 참조 : qwebsettings WebAttribute

+0

나는이 하나를 자신을 해결하기 위해 관리. 학교 소년 오류의 비트. 누락 된 작은 따옴표를 추가하여 javascript가 다음과 같이 매개 변수를 올바르게 해석 할 수 있도록해야합니다. ui-> webView-> page() -> mainFrame() -> evaluateJavaScript ("loadKMLFile ('"+ fileUrl + "')") ; – user2011176

관련 문제