This cordova plugin enables you to open a second webview in your app. This webview is totally independent from the main webview, but allows you tu access plugins and other Cordova resources.
It's possible to modify this plugin to allow multiple webviews.
Report issues on github issue tracker
cordova plugin add https://github.com/kunder-lab/cl.kunder.webview.git
- Android
- iOS
To open a new webview, just call in your app's js:
webview.Show(URL);
Where URL
is the path to the page to be opened. In Android, the plugin automatically adds the prefix file:///android_asset/www/
But only if no *://
or javascript:
is present at the front of the URL.
Then, to close the second webview and return to the main view, call in your second webview (the opened webview, not the main webview):
webview.Close();
This will close and destroy the second webview.
The webView
object provides a way to manage a second webview inside your cordova app. This could be usefull if you want to open a second page as a popup or you want to load new content that is totally unrelated to the main view, but still have the ability to use cordova plugins.
The main difference with inAppBrowser plugin is that cl.kunder.webview plugin can access and use all cordova plguins installed in your app.
- Show: Opens a new webView
- Close: Close and destroy the webView
- Hide: Same as Close
- SubscribeCallback: Suscribes a callback that is fired when webView is closed
Parameters:
- url: The url to be opened. In Android, if the url does not contain a protocol prefix (
*://
orjavascript:*
), the prefixfile:///android_asset/www/
will be automatically added. (String) - successCallback: Is triggered when the plugin is succesfully called. (Function)
- errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function)
- loading: Should show a loading dialog while webview is loading. (Boolean optional)
Suscribes a callback that is triggered when a webView is closed.
Parameters:
- successCallback: The callback that will be called when a webview is closed. It contains an array of parameteres given by the Close/Hide method called in the child webview. (Function)
- errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function)
// Main webview
// This will be fired on second webview close
webview.SubscribeCallback(function(params) { console.log(params); }, function(){ console.log('error'); })
Parameters:
- successCallback: Is triggered when the plugin is succesfully called. (Function)
- errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function)
- params: Parameterers that want to be delivered to the parent webview through the SubscribeCallback method. (Array)
Close the loading shown by Show method.
Parameters:
- successCallback: The callback that will be called when the loading is closed. (Function optional)
- errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function optional)
Subscribes an exit callback that is triggered when ExitApp method is called.
Parameters:
- successCallback: The callback that will be called when a webview is closed. (Function)
- errorCallback: Is triggered when the plugin fails to be called or is called with error. This can be empty function (Function)
This method execute the subscribed exit callback if exist. Then close the webview. This method is usefull when onResume event is defined in your main app. You should set a flag in subscribeExitCallback success method. Then in onResume event you should verify the flag value. Finally the main app should call ionic.Platform.exitApp() method to close the app.
This method execute objective-C exit(0) method.
This method adjust the size of the current webview using the iOS 11 status bar space. This method should be called at the beginning of the app. No parameters required.