Github user NGumby commented on the pull request: https://github.com/apache/cordova-plugin-inappbrowser/pull/99#issuecomment-184857676 I think a better approach to communicate between an external website and the app, is to raise an event in shouldOverrideLoadUrl like this : ``` public boolean shouldOverrideUrlLoading(WebView webView, String url) { LOG.d(LOG_TAG, "shouldOverrideUrlLoading:" + url); if (url.startsWith(WebView.SCHEME_TEL)) { ... } else if (url.startsWith("myscheme:")) { try { JSONObject obj = new JSONObject(); obj.put("type", "customevent"); obj.put("url", url); sendUpdate(obj, true); return true; } catch (JSONException ex) { LOG.e(LOG_TAG, "URI passed in has caused a JSON error."); } } return false; } ``` add this to InAppBrowser.js ``` function InAppBrowser() { this.channels = { 'loadstart': channel.create('loadstart'), 'loadstop': channel.create('loadstop'), 'loaderror': channel.create('loaderror'), 'customevent': channel.create('customevent'), 'exit': channel.create('exit') }; } ``` in your app, you can then do ` appBrowser.addEventListener("customevent", function(event){console.log("My custom event raised:" + event.url)}); ` from the external website, you can then have a link like `<a href="myscheme://mycustomaction?someparam=value">Custom Action in the app</a>` It works pretty well, and you can parse the url to do the custom actions!
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org