2017-01-24 7 views
1

私はを6.11.xする4.9xから私のjxbrowser統合を移植しています、と私はJavaScriptを使用して問題が持っている - のIFrameとJavaBridgeを。私は、次のコードで正しく登録し、私はメインページのjsから関数を呼び出すときに期待どおりに動作します。しかし、関数がiframe内のjsから呼び出されたときには機能しません。このように、リカバリ・ウィンドウで解決JXBrowser JSFunctionCallbackと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(); 
       } 
      }); 
     } 
    }); 

答えて

0

JSValue window = browser.executeJavaScriptAndReturnValue(event.getJSContext().getFrameId(),"window"); 
関連する問題