Child Browser Window

Overview

The InAppBrowser window (Child Browser) behaves like a standard web browser, and can't access Cordova APIs. For this reason, the InAppBrowser is recommended if you need to load third-party (untrusted) content, instead of loading that into the main Cordova webview. The InAppBrowser is not subject to the whitelist, nor is opening links in the system browser.

 
The InAppBrowser provides by default its own GUI controls for the user (back, forward, done).
 
For backwards compatibility, this plugin also hooks window.open. However, the plugin-installed hook of window.open can have unintended side effects (especially if this plugin is included only as a dependency of another plugin). The hook of window.open will be removed in a future major release. Until the hook is removed from the plugin, apps can manually restore the default behaviour:
 

Whitelisting

 Any url used in a Native application must be Domain whitelisted in the answerSpace setup to allow the child browser window to open.

Since iOS9 Apple now provides a link oat the top of the page which we return the user back to the native.

In the past the child browser window was used so the user would not leave the app shell into a browser and lose navigation bac to the app shell.

Launching In Safari Workaround

 Here is a code snipit you can use to force open the link in Safari. It detects if you are using a browser or from a native app shell.

Safari Launch Workaround
<script>
function openUrlInBlankBrowser(url)
{
    if (typeof cordova === "object") { // check plugin existence
         navigator.childbrowser.openExternal(url);
    } else {
       window.open(url);
    }
}

</script>

<a href="#" onclick="openUrlInBlankBrowser('http://www.google.com');" target="_system"  >Open In Safari</a>

The child browser window will open a single external link but does not handle re-directs or additional ajax requests as it can only open a single page.