[iOS]WEBページをオフラインで閲覧する方法

リーディングリストの活用

どういうやつか

ネットが使えない環境でWEBページを閲覧したい。

そのためにはWEBページをダウンロードしなきゃだし、ダウンロードしたものを閲覧できないと意味がない。

どうやったらいいんだという話。

リーディングリストを使う

Safariにはリーディングリストの機能がある。

要するに「後で読む」リストであり、「オフライン用に保存」の機能がついてる。

リストに入れて保存すればいい。

「オフライン表示に対応していません」

iPhoneやらiPadは飛行機を飛ばしてWifiも切ればオフライン環境が作れる。

で、「オフライン表示に対応していません」と出て、保存したのに表示できない場合がある。

なんでかといえばダウンロードの必要な要素がページ内にあるからで、ここをクリアできていないとオフラインで閲覧できない。

対策1:読み込み完了まで待つ

保存時にページの読み込みが完了していない場合がある。

対策2:読み込むファイルは全部取得しておく

ページの読み込みは完了していてもダメって時がある。

読み込むべきファイルが読み込まれていないからで、例えばjsとかで読み込み画像の切り替えギミックを仕込んでいるとか。

他所のWEBサイトであればどうしようもないけど、自前のものであれば対策できる。

htmlとcssは、画像のパスが書かれていれば問題ない。だけどjsは発火時に読み込みが発生することが普通にあるんで、それは都合が悪い。使用するファイルは予めhtmlまたはcss上に記述して読み込んでおく。

表示したくなければdisplay:none;しておけばいいので問題ない。でも、要するにページ上で表示する可能性のある全てを読み込むということなので、ページ読み込み時にえらい容量を食うとか時間がめっちゃかかるとかそういう面倒がある。

まとめ

今回CDNを使ってないページで試したから、外部ファイルの範囲はわかってない。とりあえず、ページに関わるファイルはすべて自鯖にアップして、HTMLで読ませたら上手くいった。

外部サーバーがだめだったらアナリティクスとか計測タグとか広告とかも外さなきゃいけないわけで、そこまでする必要あるんかね?って思う。どうなんでしょう。

コメント

タイトルとURLをコピーしました