質問

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 ページ開発に関する優れたガイドラインをここに示しています。

iPhone 用 Safari 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;

}

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top