无法使用java将值设置为JxBrowser localstorage

无法使用java将值设置为JxBrowser localstorage,java,web,local-storage,jxbrowser,Java,Web,Local Storage,Jxbrowser,我想在加载浏览器时将语言设置为浏览器,为此,我将“语言”值设置为浏览器的本地存储 browser.loadURL("file:///" + FILE_LOCATION + File.separator + "setting.html"); browser.getLocalWebStorage().setItem("language", "en"); 这是浏览器初始化代码 BrowserPreferences.setChromiumSwitches("--disable-web-securit

我想在加载浏览器时将语言设置为浏览器,为此,我将“语言”值设置为浏览器的本地存储

browser.loadURL("file:///" + FILE_LOCATION + File.separator + "setting.html"); 
browser.getLocalWebStorage().setItem("language", "en");
这是浏览器初始化代码

BrowserPreferences.setChromiumSwitches("--disable-web-security",
        "--allow-file-access-from-files");

String randomStr = UUID.randomUUID().toString();
jxbrowserDataDirPath = BrowserPreferences.getDefaultChromiumDir() + "\\" + randomStr;

browser = new Browser(BrowserType.LIGHTWEIGHT, new BrowserContext(new BrowserContextParams(jxbrowserDataDirPath)));
final BrowserView browserView = new BrowserView(browser);
browser.setDialogHandler(new DefaultDialogHandler(browserView));
browser.setPopupHandler(new DefaultPopupHandler());

browser.getCacheStorage().clearCache();
this.add(browserView, BorderLayout.CENTER);
初始化浏览器后,我将按URL加载网页,然后将值设置为本地存储

browser.loadURL("file:///" + FILE_LOCATION + File.separator + "setting.html"); 
browser.getLocalWebStorage().setItem("language", "en");
但是该值没有设置为本地存储,我想知道这种行为的原因是什么


此外,当我使用浏览器loadListner时,它工作正常

browser.addLoadListener(new LoadAdapter()
    {
      @Override
      public void onDocumentLoadedInFrame(FrameLoadEvent arg0)
      {
        setLocalStorageValue(key, value);
      }
    });

但由于某些原因,我无法在代码中使用loadListner,因此我试图在加载浏览器后设置该值。

只有在HTML页面完全加载并在其上初始化JavaScript上下文后,才能访问Web本地存储。所以,要使用Web本地存储,您需要确保加载了HTML页面

同时,异步调用
Browser.loadURL
方法。要确保网页已完全加载,必须使用
LoadListener.onFinishLoadingFrame()
事件

因此,出现问题的原因是
browser.getLocalWebStorage().setItem(“语言”,“en”)在页面加载之前被调用