【问题标题】:Detect Javafx webview检测 Javafx 网页视图
【发布时间】:2017-12-30 17:11:23
【问题描述】:

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

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

【问题讨论】:

    标签: javascript html javafx webview


    【解决方案1】:

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

    来自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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-14
      • 1970-01-01
      • 2017-02-03
      • 1970-01-01
      相关资源
      最近更新 更多