适用于iPhone的网站 - 但其他平台呢?

时间:2008-12-09 11:38:55

标签: mobile iphone browser

我最近从css-tricks.com weblog #38: Basics & Tips on Designing for the iPhone做了Chris Coyier教程。毋庸置疑,我非常兴奋,并向一个人建议我做一些代码猴工作,我们现在可以向他的客户提供iPhone网站。他说很酷,但其他移动设备呢?好问题。那么Android,Blackberry,WindowsMo​​bile等网站设计的低端是什么?人们是否在困扰其他平台?感谢。

1 个答案:

答案 0 :(得分:13)

最近的Webkit和Opera:

对于iPhone Safari,Opera Mobile和Androidkit开发的Webkit类似(but not identical),对它们的开发非常简单。

您可以依赖CSS2.1和JavaScript + DOM(但要小心UI events)。只需对样式表进行一些更改,您就可以免费使用常规网站。

诀窍在于提供这些样式表。 请勿使用User-Agent字符串

由于某些移动浏览器会读取手持媒体,有些人坚持使用屏幕样式并假装拥有960px宽屏幕(iPhone:/),因此您需要同时提供移动样式表:

<link media="handheld" ...>
<link media="screen and max-device-width:480px" ...>

后者是CSS3 Media Query - 非常有用,也适用于其他移动浏览器(您可以在带有@media {}的样式表中使用它。)

不要依赖:hoveronmouseover,因为这些事件在触摸屏上不起作用。

onclick被延迟,mousemove可能无效。自定义DHTML小部件(下拉菜单,滑动条)和拖放式按钮在触摸屏上不起作用,除非您使用touch events(幸运的是所有最新的浏览器都采用)。

视口

除了Apple的专有权(以及IMHO不灵活且违反标记和布局之间的分离)<meta name=viewport>还要查看CSS3 @viewport,目前最新的Opera支持@-o-viewport并希望其他人会跟着。

模拟器/仿真器

要在Opera Mobile中测试页面,请获取the simulator(或仅使用较旧的桌面版本,然后选择查看→小屏幕)。

Opera Mini很特别,因为CSS重新格式化了一点,DHTML在服务器端执行,这并不总能给出你期望的结果。有simulator available

的Android

你需要Android SDK,摆弄命令行以启动其笨重的UI,下载一堆软件包,创建具有十几个不相关的模糊设置的虚拟设备,耐心地让这个怪物加载并将计算机的风扇变成四轴飞行器,然后你可以sss..sss..sloowowlyyyy测试在“浏览器”(我的英特尔i5太慢,无法模拟Galaxy Tab - 浏览器“停止响应”甚至在我完成输入网址之前)

更容易获得带有Android的手机/平板电脑并在真实设备上进行测试(但避免使用三星的播放器“iPod”,因为它与过时的软件一样垃圾)。

对于不喜欢Linux做事的人来说,Android浏览器真的很痛苦 - 只需阅读JS控制台,你就需要在命令行上摆弄远程调试连接和日志过滤。

Firefox Mobile(以前的Fennec)

simulator available(移动下载下的“Windows / Mac OS X / Linux”链接不是桌面版,而是桌面移动版操作系统。)

模拟器非常基础,移动Firefox本身就是IMHO非常好,例如overflow:scroll效果很好,而在基于WebKit的浏览器上,溢出实现在非直观和完全破坏之间变化。

Pocket IE:

适用于Windows Mobile的PIE&lt; 7与Windows上的IE引擎不同。它主要与IE4一样原始和错误,但(几乎没有)支持一些令人惊讶的高级属性,如display:table

同时读取handheldscreen样式表,违反标准并在脚下射击。如果你要支持PIE,那么最后链接到handheld样式表并反转/覆盖其中屏幕样式的所有规则。

无论如何,它已经死了,很难得到一个模拟器。

Windows Phone 7目前随IE7一样出货,微软后来承诺提供IE9等级。

新(少数民族)黑莓

最新的基于WebKit的BlackBerry浏览器相当不错,您可以将其视为一等公民(请参阅顶部链接的WebKits比较)。

目前最流行的BlackBerry&amp; OpenWave,Blazer等:

在BB OS6之前,这是一场噩梦。只有基本的HTML工作。 CSS适用于某些模型,但它是原始的和破碎的。 JavaScript仅适用于某些模型,并且令人难以置信地缓慢且缺乏(甚至忘记基本的DHTML)。

RIM提供免费的BB模拟器(需要烦人的注册)。如果你运气不好,它会正确启动一次然后你将不得不完全重新安装它:)

同样的事情是在低端手机上使用数百种其他移动浏览器(由OpenWave等提供decent simulator)。您必须为他们准备1列基本HTML精简版网站。

Google无线转码器

即使您为每个移动设备创建了优化的(X)HTML,Google Mobile Search的用户也永远不会看到它! 相反,每个页面都将通过“无线转码器”进行代理,该无线转码器残酷地删除代码,剥离所有样式表和脚本(无论浏览器是否支持它们),甚至是<font> :(