繁体   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