如何从Qt的调用evaluateJavaScript()函数?(How to call evalua

2019-09-22 23:40发布

我无法从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函数就是没有得到任何所谓的指针。

Answer 1:

我知道这个职位是旧的,但万一有人有相同的:

经常检查开发工具,看看有什么JavaScript控制台告诉你。 您可以启用通过devtools加入这一行土特产品您的QT主要功能

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

现在,通过右键clicking->检查,控制台,你会看到JS解释错误。



Answer 2:

您应该具有的“onClick”小写“C”:

<input type="button" value="Click me!" onclick="displayhello()">


Answer 3:

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

更换map你想要的类名。

此外,尝试使用onload
<body onload = "displayhello()" topmargin = "0" leftmargin = "0">



文章来源: How to call evaluateJavaScript() function from Qt?