Javascript函数未从QWebFrame / QWebView调用

时间:2013-01-25 14:04:04

标签: 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->textEdit->toPlainText(); // Get path to file
    ui->webView->page()->mainFrame()->evaluateJavaScript("loadKMLFile(" + fileUrl + ")");
}

当我运行我的应用程序时,我输入要加载的文件的路径。然后通过上面的C ++方法提取它,并通过在路径中传递的evaluateJavaScript进行调用。

如果传入的路径是空字符串,则调用JS函数并显示警告框。如果在文本编辑中放置一个单个字符(更不用说整个路径),则不调用该函数我不会出现警告框。

任何想法都会被感激不尽。

1 个答案:

答案 0 :(得分:0)

你已经启用了javascript吗?

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

参阅:qwebsettings WebAttribute