2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

iOSの webview で"ほぼ"絶対にSafariで開くnpm package "go-to-safari"

Last updated at Posted at 2020-07-05

iOS 上の WebView から Safari で開く

iOS の Facebook や Messager アプリで開いたページのリンクを Safari で開くことができるようになる npm package を公開しました。

以下のようにすると iOS 上の WebView から Safari で指定した URL を開くことができます。

<a href="https://example.com/" class="outer-link">link</a>
<script src="https://unpkg.com/go-to-safari@1.0.2/lib/g2s.js"></script>
<script>
g2s(".outer-link"); // querySelector で対象のリンクを指定
</script>

sample

npm package

go-to-safari

参考にしたページ

How open link in safari mobile app from webview
https://stackoverflow.com/a/53028249

どういうときに使うのか?

Facebook アプリなどでページを開いたときにアプリの制限で使えない機能があります。
とくに AR Quick Look が使えないため、Facebook で AR Quick Look が埋め込まれているページを開いても AR の体験ができない現象が発生します。

Facebook という共有の場で体験ができないという機会損失をできる限り少なくするために開発しました。

Stack Overflow にあるように ftp:// スキーマーなら Safari が開くという仕組みになります。
自前で ftp サーバーを立てているため不安定な時もあるかもしれません。
npm の package を作ることも公開することも初めてなので至らぬ点が多々あるかと思います。
UA で判定しているため Safari と全く同一の UA で WebView を設定されていると開くことはできません。
それでもよろしければ是非お使いください。

2
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?