提问人:sergeb 提问时间:9/10/2008 更新时间:6/26/2010 访问量:1795
iPhone浏览器标签和优化的网站
iPhone browser tag and optimized web site
答:
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 网页开发提供了一些出色的指南:
根据我对它的简要阅读,这里有一个需要注意的关键要素:
- 由于屏幕尺寸较小,“视口”和滚动的工作方式略有不同。有自定义的 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;
}
评论