簡體   English   中英

無法從QWebFrame / QWebView調用Javascript函數

[英]Javascript function not being called from 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 ++方法將其提取,並通過在路徑中傳遞的validateJavaScript進行調用。

如果傳入的路徑為空字符串,則會調用JS函數,並顯示警告框。 如果在文本編輯中放置單個字符(更不用說整個路徑),則該函數不被調用,但不會出現提示框。

任何想法將不勝感激。

您已經啟用javascript嗎?

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

請參閱: qwebsettings WebAttribute

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM