javascript - 检测Javafx webview

标签 javascript html javafx webview

所以我正在创建一个java桌面程序。该程序转到在 jsp 上运行的身份验证网页。并使用 javafx webview(在 WebKit 上运行)来实现此目的

我的问题是如何检测网页是否正在使用 java webview 访问,如果没有断开或重定向客户端,以帮助降低垃圾邮件身份验证请求。

最佳答案

JavaFX WebView 允许您使用 user agent property 设置用户代理字符串。在网络引擎上。您可以使用它来将用户代理设置为您想要的任何内容。然后,当 WebView 客户端请求网页时,它将在用户代理 header 中提供该值。您的服务器代码可以查询用户代理 header ,然后根据结果采取它认为必要的任何操作。

来自this answer ,用户代理字符串的默认输出是:

User Agent:     Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.44 (KHTML, like Gecko) JavaFX/8.0 Safari/537.44

正如 WebEngine 文档中所述,该值可能会在 JavaFX 版本和操作系统之间发生变化。最有可能的是,默认值始终包含文本 JavaFX,因此您只需在服务器上检查用户代理字符串是否包含文本 JavaFX。否则,如果您想非常确定,那么您可以对 JavaFX 客户端进行编码,以将用户代理字符串显式设置为您在服务器上检查的值。

要了解如何在 JSP 中检查用户代理,请参阅:

这表明您会编写如下内容:

<c:if test="${fn:contains(header['User-Agent'],'JavaFX')}"></c:if>

关于javascript - 检测Javafx webview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45292054/

相关文章:

javascript - react native 自定义表单验证

html - DOMPDF 文本高度有什么问题?

java - 尝试在JavaFX中切换GraphicsContext的上下文

java - 在现有 GUI 中播放 mp4 剪辑

JavaFX:获取在 ImageView 上单击的 x 和 y 像素坐标

javascript - 将用户区域设置包含到 Keycloak ID token 中

javascript - 当浏览器调整大小时,图像上的文本不起作用

javascript - 如何限制谁可以 iframe 嵌入我的网络应用程序?

php - 如果循环不返回任何帖子,如何隐藏带有文本的 div?

html - 在固定高度的情况下保持图像纵横比