gpt4 book ai didi

javascript - JXBrowser JSFunctionCallback 和 IFrame

转载 作者:行者123 更新时间:2023-11-29 23:55:19 25 4
gpt4 key购买 nike

我正在将我的 jxbrowser 集成从 4.9x 移植到 6.11.x,我遇到了 JavaScript - JavaBridgeIFrame 的问题 。我使用以下代码正确注册,并在主页中从 js 调用该函数时按预期工作。但是当从 iframe 内的 js 调用该函数时不起作用。

    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();
}
});
}
});

最佳答案

通过恢复窗口以这种方式解决:

JSValue window = browser.executeJavaScriptAndReturnValue(event.getJSContext().getFrameId(),"window");

关于javascript - JXBrowser JSFunctionCallback 和 IFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41833843/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com