我无法从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 code:
<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函数没有被调用。
答案 0 :(得分:4)
我知道这篇文章已经过时了,但是如果有人有同样的话:
始终检查开发工具以查看JavaScript控制台告诉您的内容。 您可以通过在QT主函数中添加此行来启用devtools
QWebSettings::globalSettings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true);
现在通过右击 - &gt; inspect,console,你会看到JS解释错误。
答案 1 :(得分:0)
你应该在'onclick'中使用小写'c':
<input type="button" value="Click me!" onclick="displayhello()">
答案 2 :(得分:0)
QVariant holdInformation = map->page()->mainFrame()->evaluateJavaScript (QString ("displayhello ()"));
将map
替换为您想要的班级名称。
另外,请尝试使用onload
<body onload = "displayhello()" topmargin = "0" leftmargin = "0">