iPhone浏览器标签和优化的网站

iPhone browser tag and optimized web site

提问人:sergeb 提问时间:9/10/2008 更新时间:6/26/2010 访问量:1795

问:

iPhone的浏览器标签是什么,iPhone优化的网站与通常的移动网站有何不同?

谢谢!

iphone html mobile-website

评论


答:

1赞 Espen Herseth Halvorsen 9/10/2008 #1

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 --> 
1赞 Jason Cohen 9/10/2008 #2

Apple 在此处定义了用户代理。

此字段在密钥“User-Agent”下的 HTTP 标头中传输

2赞 Tim Farley 9/10/2008 #3

Apple 在这里为 iPhone 网页开发提供了一些出色的指南:

适用于 iPhone 的 Safari 浏览器网页内容指南

根据我对它的简要阅读,这里有一个需要注意的关键要素:

  • 由于屏幕尺寸较小,“视口”和滚动的工作方式略有不同。有自定义的 META 标签可让您在有人访问您的页面时自动调整它。
  • 请注意使用框架集或其他功能的页面,这些功能需要用户滚动页面上的不同元素,因为 iPhone 不显示滚动条。
  • 如果你希望人们在iPhone上为你的页面添加书签,有一个自定义的META标签,让你指定一个53x53的图标,看起来比典型的收藏夹.ico更好。
  • 避免使用依赖于鼠标移动或悬停操作来使事情发生的 javascript,它们无法在 iPhone 上正常工作。
  • 有一些自定义 CSS 属性允许您调整文本大小并突出显示 iPhone 上超链接的颜色。
  • 还有其他关键的 HTML/Javascript 功能,它们也告诉您要么支持,要么避免。
0赞 Jimit 6/26/2010 #4

更好的解决方案:

*

  (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;

}