Open jtibbles opened 4 years ago
Iβm Experiencing the same issue with tel: links not working
any updates on this? Same here... tel: and href: seem to be ignored
It's the same for me, but works if I for example use "http://www.facebook.com". But not most other links.
@jtibbles @netomarchiori @RichardBoyder @harnemo After research and read blogs and all I found a solution for tel: sms: mailto: geo: links after a day like change some code in plugins/cordova-plugin-inappbrowser/src/ios/CDVWKInAppBrowser.m file.
Existing
if ([[ url scheme] isEqualToString:@"itms-appss"] || [[ url scheme] isEqualToString:@"itms-apps"]) {
Replaced with
if ([[ url scheme] isEqualToString:@"itms-appss"] || [[ url scheme] isEqualToString:@"itms-apps"] || [[ url scheme] isEqualToString:@"tel"] || [[ url scheme] isEqualToString:@"sms"] || [[ url scheme] isEqualToString:@"mailto"] || [[ url scheme] isEqualToString:@"geo"]) {
And its working π€ͺ π€¨ π§ boom π
@vc-rakesh , I am making build through automation software like Jenkins . is it possible to change plugin file ?
@yogii Maybe you can copy plugin file using below tag in config.xml at an appropriate location.
OR you can fork plugin repository, make changes and add it to your package.json file π
<resource-file src="" target="" />
@jtibbles @netomarchiori @RichardBoyder @harnemo After research and read blogs and all I found a solution for tel: sms: mailto: geo: links after a day like change some code in plugins/cordova-plugin-inappbrowser/src/ios/CDVWKInAppBrowser.m file.
Existing
if ([[ url scheme] isEqualToString:@"itms-appss"] || [[ url scheme] isEqualToString:@"itms-apps"]) {
Replaced with
if ([[ url scheme] isEqualToString:@"itms-appss"] || [[ url scheme] isEqualToString:@"itms-apps"] || [[ url scheme] isEqualToString:@"tel"] || [[ url scheme] isEqualToString:@"sms"] || [[ url scheme] isEqualToString:@"mailto"] || [[ url scheme] isEqualToString:@"geo"]) {
And its working π€ͺ π€¨ π§ boom π
I did something similar to get it working. Your solution is probably better though :)
@jtibbles @netomarchiori @RichardBoyder @harnemo After research and read blogs and all I found a solution for tel: sms: mailto: geo: links after a day like change some code in plugins/cordova-plugin-inappbrowser/src/ios/CDVWKInAppBrowser.m file. Existing
if ([[ url scheme] isEqualToString:@"itms-appss"] || [[ url scheme] isEqualToString:@"itms-apps"]) {
Replaced withif ([[ url scheme] isEqualToString:@"itms-appss"] || [[ url scheme] isEqualToString:@"itms-apps"] || [[ url scheme] isEqualToString:@"tel"] || [[ url scheme] isEqualToString:@"sms"] || [[ url scheme] isEqualToString:@"mailto"] || [[ url scheme] isEqualToString:@"geo"]) {
And its working π€ͺ π€¨ π§ boom πI did something similar to get it working. Your solution is probably better though :)
yes, you can algo add "whatsapp" as well as a couple other known URL schemes.
Any update here?
This might be due to https://github.com/apache/cordova-plugin-inappbrowser/pull/600
When will this be fixed in this repo? It looks like a viable fix was produced and incorporated into subinkrishna's repo above, but for various reasons, it would be great if the official plugin repo could have this fix applied?
+1 wtf
The patch above only worked for me after downloading the latest cordova-ios, ios 6.2.0-nightly.2020.10.27.cb20c9bb.
tel: and sms: hrefs were still giving the infamous "Unsupported url" message, though. My solution is to open my own page in the inAppbrowser and have the appropriate tel:, sms: and mailto: links there. In my app.js:
$(document).on('click', 'a[href^=mailto], a[href^=tel], a[href^=sms]', function(eb) { eb.preventDefault();
var $this = $(this);
cordova.InAppBrowser.open(mobUrl + '/ios/ContactLinks.jsp?href='+ $this.attr('href'), '_blank', 'location=no');
});
You can just use the last version of InAppBrowser (4.1.0 for now), and open the external link* using "cordova.InAppBrowser.open" instead of "window.open". Also, include the "hidden=yes", like this (it fixed some problems in iOS):
cordova.InAppBrowser.open('https://www.google.com/', '_system', 'hidden=yes,location=yes');
*It also works with "mailto", "tel", "whatsapp"... for Android, you just have to allow the intent and give permissions in config.xml file, like this:
<access launch-external="yes" origin="tel:*" />
<access launch-external="yes" origin="mailto:*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
Finally, if you want all page loads in your app to go through the InAppBrowser, you can simply hook "window.open" during initialization:
$ionicPlatform.ready(function () {
if (ionic.Platform.isWebView()) {
window.open = cordova.InAppBrowser.open;
}
}
Wonderful, Thank you!
Kind regards,
Carl Zetterberg
Den ons 9 dec. 2020 kl 19:50 skrev Fernando Ghisi <notifications@github.com
:
You can just use the last version of InAppBrowser (4.1.0 for now), and open the external link* using "cordova.InAppBrowser.open" instead of "window.open". Also, include the "hidden=yes", like this (it fixed some problems in iOS):
cordova.InAppBrowser.open('https://www.google.com/', '_system', 'hidden=yes,location=yes');
*It works also with "mailto", "tel", "whatsapp"... for Android, you just have to allow the intent and give permissions in config.xml file, like this:
Finally, if you want all page loads in your app to go through the InAppBrowser, you can simply hook "window.open" during initialization:
$ionicPlatform.ready(function () { if (ionic.Platform.isWebView()) { window.open = cordova.InAppBrowser.open; } }
β You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/apache/cordova-plugin-inappbrowser/issues/592#issuecomment-741975596, or unsubscribe https://github.com/notifications/unsubscribe-auth/AL7HKDR5YMTCVFWGGYVFXWDST7BHPANCNFSM4J2BBNXQ .
@jtibbles @netomarchiori @RichardBoyder @harnemo After research and read blogs and all I found a solution for tel: sms: mailto: geo: links after a day like change some code in plugins/cordova-plugin-inappbrowser/src/ios/CDVWKInAppBrowser.m file.
Existing
if ([[ url scheme] isEqualToString:@"itms-appss"] || [[ url scheme] isEqualToString:@"itms-apps"]) {
Replaced with
if ([[ url scheme] isEqualToString:@"itms-appss"] || [[ url scheme] isEqualToString:@"itms-apps"] || [[ url scheme] isEqualToString:@"tel"] || [[ url scheme] isEqualToString:@"sms"] || [[ url scheme] isEqualToString:@"mailto"] || [[ url scheme] isEqualToString:@"geo"]) {
And its working π€ͺ π€¨ π§ boom π
Thx a lot my friend @vc-rakesh !!! ππ»ππ»ππ»ππ»ππ»
Bug Report
Problem
What is expected to happen?
You should be able to click on an href and have it open in a new window.
What does actually happen?
Nothing. No errors but the a href link is completely ignored
Information
Using WKWebView. In config.xml I've added as much "allow-navigation", "access" and "allow-intent" links as possible:
`
`
I force WKWebView like this: `
Command or Code
Just build and test the app
Environment, Platform, Device
all ios devices
Version information
Cordova: Cordova Xcode 11
Checklist