0

有人可以解释为什么我的 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函数并出现警告框。如果在文本编辑中放置单个字符(更不用说整个路径),则不会调用该函数我不会出现警告框。

任何想法将不胜感激。

4

1 回答 1

0

你已经启用 javascript 了吗?

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

参考:qwebsettings WebAttribute

于 2013-01-29T16:31:06.153 回答