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 関数が呼び出され、アラート ボックスが表示されます。テキスト編集で単一の文字 (パス全体は言うまでもなく) を入力すると、関数が呼び出されず、アラート ボックスが表示されません。
どんなアイデアでもありがたく受け取られます。