我是javafx的初学者。 这是我的html文件中的javascript函数
function setMap(mapExtent) {
if (mapExtent) {
var args = mapExtent.split(",");
if (args.length >= 4) {
frx = parseFloat(args[0]);
fry = parseFloat(args[1]);
frzoom = parseInt(args[2]);
frMapType = args[3];
if (pMap) {
pMap.SetMap(mapExtent);
}
}
}
}

我知道如何在C#中调用它,如下所示:
public void setMap(string sExtend)
{
object[] objArray = new object[1];
objArray[0] = sExtend;
try
{
this.Document.InvokeScript("setMap", objArray);
}
catch { }
}

这个javascript函数需要传递一个参数(一个javascript对象),但是在JAVAFX8的API文档中,方法webengine.executeScript(String script)的参数只是一个String类型。 如何使用webengine.executeScript()调用setMap(字符串sExtend)
答案 0 :(得分:1)
获取窗口对象
JSObject jsObject = (JSObject) webEngine.executeScript("window");
然后尝试拨打
jsObject.call("setMap", sExtend);