9
votes

"googlechrome://www.lego.com" opened in mobile Safari will switch to Google Chrome iOS app to open the URL. This allows for scriptlets like the one below, which allows you to open the current page in Google Chrome iOS app, switching from mobile Safari:

(function()%7Bif(document.location.href.indexOf('http')===0)document.location.href=document.location.href.replace(/%5Ehttp/,'googlechrome');%7D)();

My question is, can the reverse be done? I tried "safari://www.lego.com", and it is simply an invalid URL. Can you make a scriptlet which switches from Google Chrome to mobile Safari to open the current page.

1
Have you seen this: stackoverflow.com/questions/7930001/…? Not sure if it would work for your situation.woz
Not previously, but I have now. Thanks! The solution given there does not seem to work. I tested zvona's link (hakoniemi.net/labs/linkkitesti.html) in iOS Chrome, and the link therein opened a new URL, but it did not switch to Safari.jonS90
Unlike Chrome, Safari doesn't seem to have a documented URL-scheme for cross-app communication developer.apple.com/library/ios/#featuredarticles/…. If you are developing your own app, you can implement application's delegate openURL:. If you are interested in JS alone, there's no documented way to do this.A-Live
chrome must support url scheming before that. can you call facebook from chrome like facebook://...Uğur Özpınar
Yes it does. For example, "waze://" succeeded in opening the waze app from Chrome ("facebook://" specifically was not a supported URL). Typed into the omnibar, it would simply become a google query. But as a link, yes it works. Thanks for the info guys. I am unfortunately interested in a JS method alone.jonS90

1 Answers

4
votes

The answer is yes. Courtesy or MacStories (http://www.macstories.net/tutorials/chrome-for-ios-send-a-webpage-back-to-safari-via-bookmarklet/), I found this code:

window.location='googlechrome-x-callback://x-callback-url/open/?url='+encodeURIComponent(location.href)+'&x-source=Safari&x-success='+encodeURIComponent(location.href);

Execute that code, go to your homescreen, reopen Chrome, and there's a magical back button to go back to Safari. This may not be exactly what you want, but it works... Kink of.

Good luck!

Update: Here's a screenshot: Link (Sorry, I don't have enough reputation to put it right in the post): http://i.stack.imgur.com/OR175.jpg

Update:
It seems that the functionality to do this has broken. Thank you!