Я хочу установить язык для браузера, когда он загружается, и для этого я устанавливаю значение 'language' для локального хранилища браузера.
Вот код инициализации браузера.
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 для своего кода по некоторым причинам, так что япытаюсь установить значение после загрузки браузера.