お問い合わせ頂いた方いわく、『パブリッシュした「index.html」ファイルをエディタで開き、 iPhone|iPodの記述の後に「|Android」(縦棒は必須) 加えて保存したファイルをFTPソフトでアップロードするという方法でアンドロイドにも対応できる事は分かったが、もっと良い方法は有りませんか?』という事でした。
なるほど!、そういう方法があるのかと勉強になりましたが、一つ問題が有ります。これだとサイトをパブリッシュするごとに元に戻ってしまうので、毎回htmlを書き直してアップロードする必要が有る......という事です。多分この事についてもっと良い方法を.....と思われているのでしょう。
アンドロイドを持ってないので検証できませんが、この手間がかからない方法をご紹介したいと思います。
先ずは、iPhone/iPadリダイレクト_アクションを実行するとhtmlはどのように変化するのかを確認してみましょう。
if(navigator.userAgent.match(/Android/i))
window.location.replace("Android_page.html");
それでは手順を説明します。下記スクリプトをコピーしましょう。(青文字部分は任意)
<script type="text/javascript">//<![CDATA[
(function(){
if(navigator.userAgent.match(/iPhone|iPod/i))
window.location.replace("ココにiPhone用のページのurlを記入");
if(navigator.userAgent.match(/iPad/i))
window.location.replace("ココにiPad用のページのurlを記入");
if(navigator.userAgent.match(/Android/i))
window.location.replace("ココにAndroid用のページのurlを記入");
})();
//]]></script>
Freewayに戻り、ページ/HTMLマークアップを選択します。
先ほどコピーしたものをマークアップに貼付けて、挿入を『</head>タグの前』にします。
もしiPhone/iPadリダイレクトを適用済みの場合は不要になりますので、アクションを削除します。(削除しないと2重記述になります)
パブリッシュしてみると、ちゃんとスクリプトが</head>タグの前に書き込まれていました。この方法で良いと思うのですが.......。どなたか検証してみたら教えて下さい!
このアクションに質問したものです。
返信削除ご指摘のあったように、パブリッシュするたびにhtmlを変更するのは面倒でしたので、いろいろ考えた末同じ方法にたどり着きました。このコードで問題なくAndroid携帯でもリダイレクトしてくれました。
更なる課題があり、Android携帯の問題は機種によって液晶の解像度や大きさが違うことです。これにより、iPhoneやiPod用のレイアウトだと崩れてしまうことです。これは解決できるのでしょうか。現在検討中です。
こんにちは
返信削除そうですか、解決して何よりです。
レイアウトの崩れに関しては、幅いっぱいのヘッダーを設けてみてはいかがでしょうか?
そうすればヘッダーを基準にページの表示サイズが決まると思います。
具体的にどのようにレイアウトが崩れるのか分かりませんが、私の場合は特に不都合は出ていません。
(ブラウザーの違いによる若干のレイアウトのズレは感じますが.....)