【问题标题】:JXBrowser JSFunctionCallback and IFrameJXBrowser JSFunctionCallback 和 IFrame
【发布时间】:2017-01-24 16:50:56
【问题描述】:

我正在将我的 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();
                }
            });
        }
    });

【问题讨论】:

    标签: javascript java iframe jxbrowser


    【解决方案1】:

    recovery window这样解决的:

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

    【讨论】:

      猜你喜欢
      • 2020-02-28
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 2017-12-11
      • 1970-01-01
      • 1970-01-01
      • 2016-11-09
      • 1970-01-01
      相关资源
      最近更新 更多