JXBrowser navigator.languages总是空的

时间:2018-04-22 14:05:28

标签: java javafx jxbrowser

我试图找出如何在JXBrowser中设置navigator.languages。数组总是空的,对于我使用JXBrowser的特定站点,我需要设置navigator.languages。

我添加了标志" - lang = en"对铬,我也做了

BrowserContextParams bcp = new BrowserContextParams(browserContextPath);
bcp.setAcceptLanguage("en-US");

但所有这些事情似乎都没有改变。这是一般的JXBrowser"事情"或者" bug"?或者我错过了什么?

我宁愿不拦截每个请求,并尝试手动添加或注入navigator.languages。

1 个答案:

答案 0 :(得分:1)

相应的Chromium switch似乎正常运行且navigator.language属性已更改:

public class JxBrowserSample {
    public static void main(String[] args) {

        BrowserPreferences.setChromiumSwitches("--lang=zh-CN");

        Browser browser = new Browser();
        BrowserView view = new BrowserView(browser);

        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.add(view, BorderLayout.CENTER);
        frame.setSize(700, 500);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);

        browser.loadURL("https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_nav_language");
    }
}

输出: navigator.language changed

navigator.languages[0]在这种情况下包含相同的值。

我使用JxBrowser 6.19.1来检查这种行为。