CB-12184 executeScript leads to a null pointer on exception on Android.

This closes #199
This commit is contained in:
Julio César 2016-11-24 18:50:49 +01:00
parent 1b4859c175
commit 8ab07277cd
2 changed files with 30 additions and 26 deletions

View File

@ -222,7 +222,7 @@ The object returned from a call to `cordova.InAppBrowser.open` when the target i
## InAppBrowser.addEventListener ## InAppBrowser.addEventListener
> Adds a listener for an event from the `InAppBrowser`. > Adds a listener for an event from the `InAppBrowser`. (Only available when the target is set to `'_blank'`)
ref.addEventListener(eventname, callback); ref.addEventListener(eventname, callback);
@ -338,7 +338,7 @@ function executeScriptCallBack(params) {
## InAppBrowser.removeEventListener ## InAppBrowser.removeEventListener
> Removes a listener for an event from the `InAppBrowser`. > Removes a listener for an event from the `InAppBrowser`. (Only available when the target is set to `'_blank'`)
ref.removeEventListener(eventname, callback); ref.removeEventListener(eventname, callback);
@ -438,7 +438,7 @@ The function is passed an `InAppBrowserEvent` object.
## InAppBrowser.executeScript ## InAppBrowser.executeScript
> Injects JavaScript code into the `InAppBrowser` window > Injects JavaScript code into the `InAppBrowser` window. (Only available when the target is set to `'_blank'`)
ref.executeScript(details, callback); ref.executeScript(details, callback);
@ -480,7 +480,7 @@ Due to [MSDN docs](https://msdn.microsoft.com/en-us/library/windows.ui.xaml.cont
## InAppBrowser.insertCSS ## InAppBrowser.insertCSS
> Injects CSS into the `InAppBrowser` window. > Injects CSS into the `InAppBrowser` window. (Only available when the target is set to `'_blank'`)
ref.insertCSS(details, callback); ref.insertCSS(details, callback);

View File

@ -323,6 +323,7 @@ public class InAppBrowser extends CordovaPlugin {
* which should be executed directly. * which should be executed directly.
*/ */
private void injectDeferredObject(String source, String jsWrapper) { private void injectDeferredObject(String source, String jsWrapper) {
if (inAppWebView!=null) {
String scriptToInject; String scriptToInject;
if (jsWrapper != null) { if (jsWrapper != null) {
org.json.JSONArray jsonEsc = new org.json.JSONArray(); org.json.JSONArray jsonEsc = new org.json.JSONArray();
@ -346,6 +347,9 @@ public class InAppBrowser extends CordovaPlugin {
} }
} }
}); });
} else {
LOG.d(LOG_TAG, "Can't inject code into the system browser");
}
} }
/** /**