You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Andreas Imhof (JIRA)" <ji...@apache.org> on 2014/09/09 17:06:29 UTC

[jira] [Created] (CB-7500) executeScript with callback kills/blurs inAppBrowser window after callback exit

Andreas Imhof created CB-7500:
---------------------------------

             Summary: executeScript with callback kills/blurs inAppBrowser window after callback exit
                 Key: CB-7500
                 URL: https://issues.apache.org/jira/browse/CB-7500
             Project: Apache Cordova
          Issue Type: Bug
          Components: Android
    Affects Versions: 3.5.0
         Environment: Android 4.4.2 Samsung Galaxy Tab S
            Reporter: Andreas Imhof


Calling Javascript executeScript (inAppBrowser.js) WITH a callback into an inAppBrowser window kills/blurs this IAB window after the callback exits. Somethink like this also is mentioned in the author's comment in method 'injectDeferredObject' in 'inAppBrowser.java' on line 254.
After inverstigating, I accidentally found a work-around/solution which helped on my Android 4.4.2 Samsung Galagy Tab S.

SOLUTION:
In 'inAppBrowser.java' on line 162:

jsWrapper = String.format("prompt(JSON.stringify([eval(%%s)]), 'gap-iab://%s')", callbackContext.getCallbackId());

the 'prompt' statement should be assigned to a variable like:

jsWrapper = String.format("var r=prompt(JSON.stringify([eval(%%s)]), 'gap-iab://%s')", callbackContext.getCallbackId());

Adding 'var r=' prevents from InAppBrowser window being killed. 
Don't know why. Tell me...   :-)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)