我们的系统通过AJAX以编程方式将SVG文件加载到HTML中.典型的SVG文件以:
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0,0 65415,41616' xml:space='preserve' height='50.000cm' width='50.000cm' xmlns:xlink='http://www.w3.org/1999/xlink
Run Code Online (Sandbox Code Playgroud)
但奇怪的是,在JavaScript中似乎无法从SVG DOM中获取此"viewBox" - 无论是作为字符串还是作为一组值.例如,在Mozilla下,firebug报告svg节点有我们指定的6个属性中的5个 - 即:xmlns,xml:space,height,width和xmlns:xlink.但ViewBox在此列表中显然不见了.
无论如何以编程方式检索此值? - 它在SVG DOM中的位置?(我们不能介绍第三方图书馆).
在JavaFx中,我可以将一个监听器附加到webEngine的加载工作者,如下所示:
webEngine.getLoadWorker().stateProperty().addListener(
new ChangeListener<Worker.State>() {
public void changed(ObservableValue ov, Worker.State oldState, Worker.State newState) {
System.out.println("webEngine result "+ newState.toString());
}
});
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试在https地址加载文档,例如:
https://SomeLocalMachine.com:9443/jts/admin#action=com.ibm.team.repository.manageUsers
我在控制台上打印出来的是:
webEngine result READY
webEngine result SCHEDULED
webEngine result RUNNING
webEngine result FAILED
Run Code Online (Sandbox Code Playgroud)
(Firefox或Chrome中的相同https地址会为我提供登录页面)
有谁知道如何从JavaFx WebEngine中获取更详细的报告.我不想只知道它失败了 - 我需要知道原因.我可以猜测我的错误是SSL /证书/ HTTPS相关,但目前我还在黑暗中,SSL的哪一部分导致它'失败'