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)

Reply via email to