我正在与 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/