2007/10/02
iPod touch/iPhone の viewport 属性の区切りはセミコロンではなくカンマ
viewport 属性の区切りはセミコロンじゃなくてカンマじゃない?
日本でも iPod touch/iPhone 用のウェブサービス・インターフェイスが続々出てきましたが、実際に使われている meta 属性の viewport プロパティの区切りが2種類存在することに気が付きました。カンマ(コンマ)を使っているところと、セミコロンを使っているところです。
- カンマ区切りの viewport
<meta name="viewport" content="width=320, user-scalable=no /">
- セミコロン区切りの viewport
<meta name="viewport" content="width=320; user-scalable=no; /">
Apple の開発資料12345に示される例は、すべてカンマ区切りとなっているので、カンマ区切りが望ましいと思われます。最初そのことに気がつかずに、セミコロン区切りで書いたものをコピー&ペーストしていました。
すると user-scalable=yes
にしているにも関わらず、拡大縮小ができなくなってしまいました。ちょっと悩んだ末に、区切り文字の違いに気がつき、カンマ区切りに修正したところ、きちんと拡大縮小できるようになりました。ちなみに (訂正:デスクトップの Safari 3 で拡大縮小ができないのは、user-scalable
の設定は Safari on iPhone/iPod touch に対してだけでなく、デスクトップの Safari 3 にも影響があり、user-scalable=no
で文字の拡大縮小ができなくなるようです。-webkit-text-size-adjust: none;
という CSS のためでした。)
user-scalable=yes;
で Safari for iPhone/iPod touch のピンチ動作が使えなくなる(追記)
上記で、カンマ区切りにしたときに、拡大縮小ができなくなったのは、user-scalable
の後にあるセミコロンが原因ということがわかりました。viewport 属性の区切りはセミコロンでも一応動くようなのですが、
<meta name="viewport" content="width=640; user-scalable=yes; /">
と user-scalable
の後にセミコロンを付けると、user-scalable
の値が偽になるのか、拡大縮小ができなくなります。セミコロンを付けずに
<meta name="viewport" content="width=640; user-scalable=yes /">
とする分には、拡大縮小含め、一応正しく機能しているようです。しかし、Apple の開発ドキュメントに習えば、セミコロンではなくカンマを使った方が無難でしょう。
viewport 属性の区切りの例
カンマ区切りの viewport の例:
- Apple の開発ドキュメント
- Apple の iPhone 開発用サンプルコード[^TL-154_iPhoneDev4]
- iPod touch/iPhone 用 NHK ウィジェット6
セミコロン区切りの viewport の例:
実はこれらのサイトはことごとく iPod touch/iPhone 専用インターフェイスで、かつ、user-scalable=no
にしているものが多いので、viewport の設定が壊れていても影響が出ていないのだと思います。
-
Apple Developer Connection - iPhone for Web Developers - Optimizing Web Applications and Content for iPhone(日本語訳) ↩
-
Apple Developer Connection - Documentation - Safari Web Content Guide for iPhone ↩
-
Apple Developer Connection - Technical Note TN2100: Customizing Web Content for Safari on iPhone ↩
-
Apple Developer Connection - Safari Web Content Guide for iPhone: Using the Viewport Meta Tag ↩
-
当ブログ過去記事:Google の iPhone Search の iPhone 用設定を見る ↩
2 Comments
Re: iPod touch/iPhone の viewport 属性の区切りはセミコロンではなくカンマ
最後の「/」の位置が間違ってるのでは?
間違い
<meta name="viewport" content="width=320, user-scalable=no /">
訂正
<meta name="viewport" content="width=320, user-scalable=no" />
試してませんが、タグの記述ミスかと思いましたので。
p.s.
viewportの意味を調べようとgoogleから検索してきました
From : iapplepie @ 2009-11-20 12:17:42 編集
Re: iPod touch/iPhone の viewport 属性の区切りはセミコロンではなくカンマ
遅くなってすみません!
あれ、確かに間違ってますね。今、試してみたら、セミコロンでもコロンでもどっちでも動くような気がします。もっとも、この記事を書いたときとは、Mobile Safari のバージョンも大分違うので、今となってはよくわからないですね。
From : Hiro @ 2009-12-13 01:31:06 編集