John Little created CB-8661:
-------------------------------

             Summary: executeScript doesn't return the a result on Windows 
platform
                 Key: CB-8661
                 URL: https://issues.apache.org/jira/browse/CB-8661
             Project: Apache Cordova
          Issue Type: Bug
          Components: Plugin InAppBrowser, Windows
         Environment: Windows 8
Latest version of Cordova 4.3.0
Latest version of Plugin InAppBrowser 0.6.0
            Reporter: John Little


executeScript is supposed to provide a variable to the function called when the 
script is completed as per this clip from the documentation :-
If the injected script is of type code, the callback executes with a single 
parameter, which is the return value of the script, wrapped in an Array. For 
multi-line scripts, this is the return value of the last statement, or the last 
expression evaluated.

When running as a Windows app the array is empty.
Looking in the Windows InAppBrowserProxy.js file, line 230 looks like this
   op.oncomplete = function () { hasCallback && win([]); };
So clearly no data is being passed ([]) is an empty array.
According to the documentation from Microsoft :-
https://msdn.microsoft.com/en-us/library/windows.ui.xaml.controls.webview.invokescriptasync.aspx

The invokeScriptAsync function can return a string.
So if I modify line 230 to look like this
  op.oncomplete = function (e) { hasCallback && win([e.target.result]); };
I get a string returned to my callback function.
You could also modify the similar line in the injectScriptFile function, as it 
also calls invokeScriptAsync.

I need the return value because the only way to comunicate between the page in 
the IAB and the app is to poll some sessionStorage and wait for the page to set 
some data.



--
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