0

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

どんなアイデアでもありがたく受け取られます。

4

1 に答える 1

0

JavaScriptを有効にしましたか?

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

参照: qwebsettings WebAttribute

于 2013-01-29T16:31:06.153 に答える