未从QWebFrame/QWebView调用Javascript函数
有人能解释一下为什么没有调用我的JavaScript函数吗 JS功能是:未从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
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+”)”);