[ 
https://issues.apache.org/jira/browse/CB-9445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14692403#comment-14692403
 ] 

Scott Seitz commented on CB-9445:
---------------------------------

It took me a little while to isolate this, but I found the test that causes the 
problem.  Essentially, if you add a loadstart event with a callback as well, 
only the first callback ever executes.
{code}
var ref = window.open('http://apache.org', '_blank', 'location=yes');
ref.addEventListener('loadstart', function() {
        ref.executeScript({code: "some_var = 'some 
value';"},function(){alert('loadstart callback');});
});
ref.addEventListener('loadstop', function() {
        ref.executeScript({code: "alert('loadstop 
code:');"},function(){alert('loadstop callback');});
});
{code}
In fact, if you set this code to trigger from a click event so that you can run 
it more than once, you'll see the following behavior on iOS:
First run -- 'loadstart callback' alert and the 'loadstop code:' alert and 
nothing else
Subsequent runs -- 'loadstop code:' alert and nothing else

On Android, it works just like you would expect.  I didn't catch this before, 
because in my original code, I had a loadstart event that didn't need to do 
anything on the callback, so I didn't realize it wasn't triggering.  Do we have 
a bug?

> executeScript callbacks not working for iOS
> -------------------------------------------
>
>                 Key: CB-9445
>                 URL: https://issues.apache.org/jira/browse/CB-9445
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: iOS, Plugin InAppBrowser
>    Affects Versions: 5.1.1
>         Environment: Cordova 5.1.1 (CLI), ios 3.8.0, android 4.0.2, 
> cordova-plugin-inappbrowser 1.0.1 (NPM)
>            Reporter: Scott Seitz
>            Assignee: jcesarmobile
>
> Can someone please check to see if they are encountering the same problem I 
> am in the environment I've listed? (latest released builds of everything I 
> think)
> I open an inappbrowser window and then run an executeScript command using 
> "code:" (not "file:").  Everything works fine on Android, but on iOS, it 
> simply will NOT fire the callback function after executing the injected code. 
>  Make the "code:" as simple as you like to test it and see if you can get a 
> callback to fire.  I've dumbed it down as much as possible and can't get one 
> to fire.  I know that all instances of code I've injected have run fine in 
> the iab by using the console (against the iab) to check for the variables I 
> was creating in the code.  I can't even get a callback to fire that doesn't 
> expect a parameter to be passed back...
> Many thanks,
> Scott



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

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org

Reply via email to