java - 制作JavaFX WebView环境的HTML和CSS "aware"

标签 java html css javafx webview

我正在与 Java 团队一起使用 JavaFX WebView 开发 HTML+CSS+Javascript渲染器。我也想在普通浏览器中使用相同的 HTML+CSS+Javascript,但我希望在样式上有一些细微差别,以优化可读性。

我可以要求 JavaFX 程序员做些什么,以便我的 HTML+CSS+Javascript 可以“意识到”差异吗?例如,一个 @media查询,这样我就可以在 WebView 中使用与在普通浏览器中不同的 CSS。

最佳答案

您可以要求他们在 userAgent 中包含一些字符串WebEngine 的属性:

WebEngine engine = ...;
engine.setUserAgent(engine.getUserAgent() + " JavaFX-WebView");

您可以从 javascript (window.navigator.userAgent) 检查此属性,例如:

<!DOCTYPE html>

<html>
    <head>
        <title>MyPage</title>
        <style>
            body {
                background-color: red;
            }
            body.javafx {
                background-color: yellow;
            }
        </style>
    </head>
    <body>
        <script>
            var javaFX = (window.navigator.userAgent.indexOf("JavaFX-WebView") > -1);
            document.body.innerHTML = javaFX ?
                    "Hello from JavaFX" : "Hello from Browser";
            if (javaFX)
                document.body.className = "javafx";
        </script>
    </body>
</html>

关于java - 制作JavaFX WebView环境的HTML和CSS "aware",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34422756/

相关文章:

javascript - html javascript中的范围 slider

java - 如何有效地为扫描仪编写带有时间戳的过滤器

java - 在 Activity 之间传递数据

html - 位置 : fixed does not work in Chrome & Firebox due to perspective attribute

html - 在不同的新选项卡中打开两个链接,而不是在同一个选项卡中

PHP 将日期转换为 mm-dd-YYYY 到 YYYY-mm-dd

javascript - 显示或使可见的事件选项卡

java - 尝试编译 java : error 187 191 时出现非法字符

java - 与 Spring Integration 框架的 Tcp 连接

php - 外部 css 文件未在 Codeigniter View 中加载