Bug 152585 - There's no URL Scheme to target Safari to handle URL if the user is on other browser
Summary: There's no URL Scheme to target Safari to handle URL if the user is on other ...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Platform (show other bugs)
Version: Safari 9
Hardware: iPhone / iPad iOS 9.0
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-12-29 09:27 PST by Felquis
Modified: 2019-01-30 05:39 PST (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Felquis 2015-12-29 09:27:24 PST
Hi, first I'll tell my use case.. then what I'm doing trying to solve it.

## Use Case..

On iOS there's Chrome, Opera, Firefox and default Safari.. And there's a lot of in app browsers today, Facebook, Twitter, Tumblr.. Once a web site is open on in app browsers, they deal with http, https links inside the webview...

My problem is that Facebook Login doesn't support Chrome, so my client has no way to use my web application cause it depends on Facebook Login, Facebook tell the users to open my web site on Safari.. and on Safari it works just great.. In my web app I'd like to say the users this browser (chrome) cannot run my web app, to they need to open my web app on Safari.. Showing a button, touching this button the user will open my web site on Safari.. directly..

I could find how to open Chrome, Firefox and Opera on iOS, but I couldn't find a way to directly open Safari... People say http[s] links will be handled by Safari, but this isn't true.. If the user is already in a browser.. the URL will be handled by the current browser..

I wrote a documentation of my research that may be useful for debugging https://gist.github.com/felquis/a08ee196747f71689dcb

## Solution

We just need a way to target Safari App to handle a URL, bello with encodeURIComponent('http://example.com')
```html
<a href="safari://http%3A%2F%2Fexample.com">Try it on Safari</a>
```

If it's an ordinary string, just search for the term in the default search engine
<a href="safari://longboard%20fails">Search on Safari</a>

## Also

I read a lot people trying to figure out if a URL Scheme is available in the platform, there should be a way to check for it, cause it is a necessity in modern web application these days..

Thank you, I hope other developers also need it.
Comment 1 Takahiro Ichihashi 2019-01-30 05:39:25 PST
Yes, as we recently see some features disabled in webviews such as [Bug 183201], we probably need URI scheme to launch Safari directly from webviews, in addition to x-web-search scheme (which is already implemented).