如何解决如何将评估用Javascript放在QWebView的validatejavascript函数中
|| 编辑: 编辑太多:doh: 这次我已经确定了问题。我将Javascript代码传递给valuatejavascript函数的方式存在缺陷。 QWebView。 当我单击包含以下代码的插槽上的按钮时,使用Google Maps的APIthis->page()->mainFrame()->evaluateJavaScript (QString (\"Open(%1,2)\").arg ( point.x ()).arg (point.y ()) );
将显示与该位置有关的地图。
现在,如果要向特定坐标添加标记,请执行以下操作:
this->page()->mainFrame()->evaluateJavaScript (QString (\"addMarker (%1,%2)\").arg (point.x ()).arg (point.y ()) );
此代码无法执行。有任何想法吗?
除此之外,添加用户定义函数以对JavaScript进行评估的方法是什么?
解决方法
终于找到答案了!
任何必须从函数validateJavaScript调用的Javascript函数都应该在C ++源代码的html文件(包含在其中)中定义,如下所示:
现在,我没有创建新的添加标记功能,而是在下面定义的Open函数中添加了其代码:
var map;
function initialize()
{
if (GBrowserIsCompatible())
{
map = new GMap2(document.getElementById(\"map\"));
map.setCenter( new GLatLng(0,0),1 );
}
}
function Open (x,y)
{
map.setCenter (new GLatLng(x,y),13);
var point = new GLatLng (x,y);
map.addOverlay (new GMarker(point));
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。