Skip to content

Instantly share code, notes, and snippets.

@felquis
Last active March 8, 2023 18:02
Embed
What would you like to do?
iOS, Android browser apps URL Schemes to handle URL between browsers, and apps..

Assume the user is on a mobile device iOS Safari (Or other browser), but you want it to open an URL on Chrome, Safari, Firefox or Opera... How do you do that?

Chrome

To open on Chrome

<a href="googlechrome://example.com">try it on Chrome</a>

check out Chrome iOS Docs for more information

Firefox

To open on Firefox

<a href="firefox://open-url?url=http://example.com">try it on Firefox</a>

Check out Firefox Docs for more information

Opera

To open on Opera

<a href="opera-http://example.com">Try it on Opera</a>

Check out this page for more information, I couldn't found official Opera Documentation

In-App browsers

Assume the users is on a in-app webview or any other browser, but an API is not support in-app browser, so you need to link the user to Safari, how do you achieve that?

Safari?

I couln't find a URL Scheme for Safari, so I need to link like safari://url so whenever the user clicks on it, it will be handled by Safari.

I filled a bug on Safari webkit about this

I tried x-web-search but it didn't work

Demo and resources

Codepen Demo, Inter App Communication, Apple URL Schemes, I think registerProtocolHandler is somewhat related.. I think this bug is also somewhat related, cause there's developers trying to figure out if a URL Scheme is available in the platform, check out this Stackoverflow question

For Android I found intent Doc, this blog post is insightful, other insightful read was this starckoverflow question "Firefox for Android does not launch app when link is clicked" and URL "Scheme: How can I create a link, which will open a document in the Google Drive app"

Standards

Should we work on a standard way to share information between web apps to installed application and installed application to web apps and web apps to web apps, on desktop, tablets and smartphone?

There's basic necessities when developing a rich web app.

  1. What are the apps the user can share this piece of information?

    Whatsapp has the whatsapp:// URL Scheme, but there's no way to check if the given URL Scheme is available in the platform

    If the user clicks in share, the browser/platform should give a list of applications/web apps the user can share the given information, it could be a URL, String, File Buffer would be great, for example.. The user apply a custom filter to an image on a web app... So the user wants to share it on Instagram.

  2. Is a specfic URL Scheme available?

    There's no standard way to check if a URL Scheme is available

  3. How can I offer my web app the oportunite to the user share the information?

Android has a popup where the user choose where he wants to share the information, a URL or String.. or a image base64 enconded.. So... If my web site provide a way to share images, strings and links.. How can I tell the device/browser my web app can share this kind of information?

I found out the best reading these days is this blog post about a failed Web API called Web Indents, follow all the links

Thank you for reading, I appreciate your help.

@lixinliang
Copy link

Hey,
I am interesting in browser scheme too. Your article is helpful. I am following this problem.
Is there any conclusion about Safari scheme?

If we click this link x-web-search://?keyword in other browser that will open Safari and search the keyword you give.
However I hope to open a link in Safari instead of just searching.

@loikein
Copy link

loikein commented May 22, 2017

Hello,
These are super helpful! I've tried several kinds of URL Schemes with Opera, but your version works the best.
I made an iOS workflow based on your URL Schemes. Hope you don't mind it…
Thank you!

@deamwork
Copy link

there's StackOverflow entry you can try on:
https://stackoverflow.com/a/53028249/9297400

@47vigen
Copy link

47vigen commented Nov 25, 2021

any solution yet?

@felquis
Copy link
Author

felquis commented Aug 18, 2022

2022 it is still not possible to target specific browsers apps to handle a link

@PigCharid
Copy link

Do you have an answer? I have such needs now.

@filecage
Copy link

filecage commented Mar 8, 2023

There won't ever be a way to check whether a URI scheme is supported or not; it is a privacy concern, because third party apps could use this information to build fingerprints or just to see what applications are installed on a device (and maybe even detect vulnerable setups).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment