iPhone ブラウザのタグと最適化された Web サイト
-
09-06-2019 - |
質問
iPhone のブラウザ タグとは何ですか?また、iPhone に最適化された Web サイトは通常のモバイル Web サイトとどう違うのですか?
ありがとう!
解決
Nettuts には、iPhone 向けの Web 開発に関する優れた入門書があります。君はそれを見つけます ここ
これは、あなたが要求した特定のコードです (その記事から抜粋)。
<!--#if expr="(${HTTP_USER_AGENT} = /iPhone/)"-->
<!--
place iPhone code in here
-->
<!--#else -->
<!--
place standard code to be used by non iphone browser.
-->
<!--#endif -->
他のヒント
Apple は、iPhone の Web ページ開発に関する優れたガイドラインをここに示しています。
ざっと読んだところ、注目すべき重要な要素は次のとおりです。
- 画面サイズが小さいため、「ビューポート」とスクロールの仕組みが少し異なります。誰かがあなたのページにアクセスしたときにこれを自動的に調整できるカスタム META タグがあります。
- iPhone ではスクロールバーが表示されないため、ユーザーがページ上のさまざまな要素をスクロールする必要があるフレームセットやその他の機能を使用するページには注意してください。
- 人々があなたのページを iPhone でブックマークすることを期待している場合は、典型的な favourite.ico よりも見栄えの良い 53x53 のアイコンを指定できるカスタム META タグがあります。
- マウスの動きやホバーアクションに依存して何かを実行する JavaScript は避けてください。これらは iPhone では正しく動作しません。
- iPhone 上でテキスト サイズを調整したり、ハイパーリンクの色を強調表示したりできるカスタム CSS プロパティがいくつかあります。
- 他にも HTML/JavaScript の重要な機能があり、同様に推奨または回避する必要があります。
Apple がユーザーエージェントを定義 ここ.
このフィールドは、キー「User-Agent」の下の HTTP ヘッダーで送信されます。
より良い解決策:
*
(NSString *)flattenHTML:(NSString *)html {
NSScanner *theScanner; NSString *text = nil;
theScanner = [NSScanner scannerWithString:html];
while ([theScanner isAtEnd] == NO) {
// find start of tag
[theScanner scanUpToString:@"<" intoString:NULL] ;
// find end of tag
[theScanner scanUpToString:@">" intoString:&text] ;
// replace the found tag with a space
//(you can filter multi-spaces out later if you wish)
html = [html stringByReplacingOccurrencesOfString:
[ NSString stringWithFormat:@"%@>", text]
withString:@" "];
} // while //
return html;
}
所属していません StackOverflow