问题标签 [javafx-webengine]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JavaFX WebEngine 卡在“运行”状态
在 JavaFX2 中使用WebEngine
时,我注意到它有时会卡住。假设我正在制作一个爬虫,它只是在页面上找到超链接,然后递归地访问它们以执行相同的操作,跟踪我们访问过哪些链接以及哪些链接已经在边界上。在运行我的代码时,执行有时会在任意时刻挂起。
我以监听器的形式向我的项目添加了一些调试代码,workDoneProperty
并exceptionProperty
打印了loadWorker
's 的每个转换stateProperty
。然后我注意到有时引擎会停止 URL 的中间加载(状态被卡住RUNNING
并且没有更多workDone
更新)。我假设这是因为超时或其他原因,但我已经停止等待 5 分钟后是否确实超时。
exceptionProperty
似乎没有产生任何事件,也没有过渡webEngine
到FAILED
or CANCELLED
,它只是停止。我想知道这是否可能是图书馆中的竞争条件,或者我可能缺少一些东西......有没有人遇到过这个知道如何解决这个问题的人?对于我的应用程序来说,引擎不只是随机停止是非常重要的......
编辑:从我的控制台添加输出:
gwt - 将 Java 数组传递给 JavaScript(通过 JSNI)并返回给 Java 会导致空值
场景:我有一个在 JavaFX WebView/WebEngine 中运行的 GWT Web 应用程序。我能够毫无问题地将字符串从 GWT 传递到 JavaScript 到 JavaFX。
问题:当以相同方式传递自定义对象数组(如 Data[])时,JavaFX 端的结果为空。
数据外观示例:
以下是将数据发送到 JavaScript 的代码:
我已经在调试器中验证了传入的 Java 对象填充了数据并且看起来不错。
现在在 JavaFX 方面,我有以下代码将 javaInterface 添加到页面:
我知道这行得通,因为我将它用于仅传递字符串的其他方法,并且它们工作得很好。
请注意,Data 对象在双方都已定义并可访问。
从 GWT 文档:
我根本没有在 JavaScript 中接触它,我只是从 Java->JavaScript->Java 传递它,但最后一步似乎是失败的。
在过去的几个小时里,我一直在搜索 Stack Overflow、Google、GWT 组、gwtproject.org 等。但大多数示例只显示了一个正在传递的参数,几乎没有一个显示正在使用 Java 数组。
我宁愿只是传递对象,而不是从 JSON 中转到->,但出于绝望,我确实尝试过。我尝试使用 GSON,但它在 GWT 客户端上不起作用。我尝试使用 GWT AutoBean 框架,但我的 Data 对象不是有效的 bean(我认为是因为没有默认构造函数),此时我无法更改它。
我没有使用任何 Long 或 long 值。
我见过这样的例子:
但据我所知,这只是为了从 JavaScript 到 GWT over JSNI。我正试图走另一条路。对于多个参数,我也找不到这样的示例。
我敢肯定,这里只是缺少一个小调整,但我还没有弄清楚。如果您看到我在这里遗漏的东西,请告诉我。
java - 为什么我不能将 Ace Editor 嵌入到 WebView 中?
我正在尝试在 JavaFX 2.2 中制作一个简单的编辑器。我下载Ace Editor
了存储库并创建了一个测试页面,双击时可以正常工作。
但是,当我尝试将其嵌入到WebView
.
SSCCE:
有人可以告诉我有什么问题吗?
css - 如何在 JavaFX WebView 中保留一个 div?
我正在努力在我的应用程序中获得一致的对齐,该应用程序是用 GWT 编写的,并通过基于 WebKit 的 JavaFX 2.2 WebView (Java 7u40) 查看。
我遇到的问题是 JavaFX 中的 CSS 布局属性似乎存在问题/缺乏支持。文档(http://docs.oracle.com/javafx/2/api/javafx/scene/doc-files/cssref.html)说支持 CSS 2.1(包括填充、填充左等)。
文档还声明“ JavaFX CSS 不支持 CSS 布局属性,例如浮动、位置、溢出和宽度。但是,某些 JavaFX 场景图对象支持 CSS 填充和边距属性。 ”
这是我在 Chrome 中运行良好的内容:
但这对 WebView 完全没有影响。
以下是我尝试过的其他规则,它们在 Chrome 中都可以正常工作,但在 JavaFX WebView 中无法执行任何操作:
DOM 的结构如下:
如何<div>
让它在 JavaFX WebView 中正确对齐?
java - Java - 如何在本地设备上的资源加载图像中使用 html
我正在使用 WebEngine(WebView) 在资源中加载 html 文件
并且 aaaaa.html 包含图片标签
当我通过 NetBean 运行项目时,将显示图像。但是当我通过 NetBean 进行“清除和构建”时,之后我在 dist 文件夹中运行 jar 文件,然后图像不显示。
我想显示图像存储在本地的 html 中。
jquery - JavaFX WebEngine 等待 ajax 完成
我正在 JavaFX 中开发一个数据挖掘应用程序,它依赖于 WebView(因此也依赖于 WebEngine)。挖掘分两步进行:首先,用户使用 UI 导航到 WebView 中的网站,以配置可以搜索感兴趣数据的位置。其次,使用定期运行的后台任务,WebEngine 加载相同的文档并尝试从加载的文档中提取数据。
这适用于大多数情况,但最近我在使用 AJAX 呈现内容的页面上遇到了一些问题。要检查 WebEngine 是否已加载文档,我会听loadWorker
's stateProperty
. 如果状态转换为成功,我知道文档已加载(连同可能在 document.ready() 或等效项上运行的任何 javascript)。这是因为如果我没记错的话,javascript 是在 JavaFX 线程上执行的(来源:https ://blogs.oracle.com/javafx/entry/communicating_between_javascript_and_javafx )。但是,如果启动 AJAX 调用,则 javascript 执行完成并且引擎让我知道文档已准备好,尽管它显然还没有准备好,因为由于未完成的 AJAX 调用,内容可能仍会发生变化。
有没有办法解决这个问题,注入一个钩子,以便在 AJAX 调用完成时通知我?我尝试在其中安装一个默认的完整处理程序,$.ajaxSetup()
但这很狡猾,因为如果 ajax 调用覆盖了完整的处理程序,则不会调用默认值。另外,我只能在第一次加载文档后注入它(到那时一些 AJAX 调用可能已经在运行)。我已经用 upcall 测试了这个注入,它适用于不提供自己的完整处理程序的命令(在注入默认处理程序之后)启动的 AJAX 调用。
我正在寻找两件事:首先:一种连接 AJAX 调用完成处理程序的通用方法,其次:一种等待 WebEngine 完成所有 AJAX 调用并在之后通知我的方法。
java - JavaFX 检测到来自 WebEngine 的 404 响应
使用 JavaFx WebEngine,我如何检测是否存在 404 page not found 错误。我已经搜索但找不到任何东西。有任何想法吗?或者有可能吗?
javafx-webengine - 如何使用 JavaFX 加载无效的认证网页。
您好我正在尝试在 JAVAFX 的 webView 面板中加载网页。我可以加载认证有效的网页,如谷歌、雅虎。但无法加载无效的认证站点。
请建议如何将认证添加到我的网站。
谢谢。
java - 为什么提示“要查看此页面上的内容,请单击此处安装 JAVA”?
我们正在开发一个 JavaFX 应用程序。我想通过 Web 站点启动此应用程序,但显示消息(“要查看此页面上的内容,请单击此处安装 Java”)。所以,我无法启动这个应用程序。我应该怎么办??
你能给我们任何提示吗?
仅供参考,我们可以使用 NetBeans(调试模式和正常模式)启动应用程序。当然,我们检查了 Java 是否已安装。
(应用开发环境) 操作系统:Windows7 64bit ver6.1
浏览器:IE11
JDK:JDK1.7.0_40
语言:JavaFX2.2.40
工具:NetBeans IDE7.3.1
java - JavaFX WebView:Java 不可访问
我正在尝试将网页加载到我的应用程序中。我可以加载页面,但是,我尝试加载的网站需要 Java 才能运行,并且 WebView 似乎无法在我的 MacBook 上找到它。请参阅下面的剥离代码:
现在我的问题是:有解决方法吗?任何帮助深表感谢 :)