未从QWebFrame/QWebView调用Javascript函数

未从QWebFrame/QWebView调用Javascript函数,javascript,qt,Javascript,Qt,有人能解释一下为什么没有调用我的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->tex

有人能解释一下为什么没有调用我的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++方法提取,并通过在路径中传递的评估JavaScript进行调用。 如果传入的路径为空字符串,则调用JS函数并显示警报框。如果在文本编辑中输入单个字符(更不用说整个路径),则不会调用函数“我不获取”警报框


如果您有任何想法,我们将不胜感激。

您是否已经启用了javascript

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

参考:

我自己解决了这个问题。有点小男生的错误。需要添加一些缺少的单引号,以便javascript按如下方式正确解释参数:ui->webView->page()->mainFrame()->evaluateJavaScript(“loadKMLFile(“+fileUrl+”)”);