cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andreas Imhof (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CB-7500) executeScript with callback kills/blurs inAppBrowser window after callback exit
Date Tue, 09 Sep 2014 15:52:28 GMT

     [ https://issues.apache.org/jira/browse/CB-7500?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Andreas Imhof updated CB-7500:
------------------------------
    Description: 
Calling Javascript executeScript (inAppBrowser.js) WITH a callback into an inAppBrowser window
kills/blurs this IAB window after the callback exits. Something 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...   :-)

  was:
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...   :-)


> 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
>              Labels: patch
>   Original Estimate: 20m
>  Remaining Estimate: 20m
>
> Calling Javascript executeScript (inAppBrowser.js) WITH a callback into an inAppBrowser
window kills/blurs this IAB window after the callback exits. Something 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)

Mime
View raw message