4

QT から JavaScript 関数を呼び出すことができません。

以下のコードを使用しています

QT コード :
QWebFrame *frame = m_d->m_webView->page()->mainFrame(); frame->evaluateJavaScript("displayhello()");

 Here `displayhello()` is the `Javascript` function defined in the HTML file.

HTML コード :

<html>
<head>
<script type="text/javascript" src="" />

<script type="text/javascript">
   function displaymessage(str)
   {
       alert(str);
   }
   function displayhello()
   {
       alert("Hello");
   }
</script>
</head>
<body>
<form>
<input type="button" value="Click me!" onClick="displayhello()">
</form>
</body>
</html>

Javascript関数が呼び出されない理由を教えてください。

4

3 に答える 3

4

私はこの投稿が古いことを知っていますが、誰かが同じものを持っている場合:

常に Dev Tools をチェックして、JavaScript コンソールの内容を確認してください。この行をQTのメイン関数に追加することで、devtoolsを有効にすることができます

QWebSettings::globalSettings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true);

右クリック->検査、コンソールで、JS解釈エラーが表示されます。

于 2013-08-05T14:01:18.400 に答える
0

「onclick」には小文字の「c」が必要です。

<input type="button" value="Click me!" onclick="displayhello()">
于 2012-09-25T07:45:01.233 に答える
0

QVariant holdInformation = map->page()->mainFrame()->evaluateJavaScript (QString ("displayhello ()"));

map目的のクラス名に置き換えます。

また、使ってみてくださいonload
<body onload = "displayhello()" topmargin = "0" leftmargin = "0">

于 2012-09-26T05:05:48.357 に答える