JXBrowser JSFunctionCallback и IFrame
Я портирую свои интеграции jxbrowser с 4.9x на 6.11.x, и у меня возникла проблема с JavaScript - JavaBridge с The IFrame. Я правильно регистрируюсь с помощью следующего кода и работаю, как и ожидалось, когда я вызываю функцию из js на главной странице. Но не работает, когда функция вызывается из js внутри iframe.
browser.addScriptContextListener(new ScriptContextAdapter() {
@Override
public void onScriptContextCreated(ScriptContextEvent event) {
final Browser browser = event.getBrowser();
JSValue window = browser.executeJavaScriptAndReturnValue("window");
window.asObject().setProperty("resolveMsg", new JSFunctionCallback() {
@Override
public Object invoke(Object... params) {
String msgId = (String) params[0];
Builder builder = WrLocMsg.builder(msgId);
return builder.buildOriginalMessage();
}
});
}
});
1 ответ
Разрешается окном восстановления следующим образом:
JSValue window = browser.executeJavaScriptAndReturnValue(event.getJSContext().getFrameId(),"window");