译:localToGlobal vs. contentToGlobal in Flex

发表于 & 归档在 Flex, 翻译.

原文:http://rjria.blogspot.com/2008/05/localtoglobal-vs-contenttoglobal-in.html(需要翻墙)

翻译:Sam Sha – ycoder.com

localToGlobal vs. contentToGlobal in Flex

如果你从未听过Flex中有一组被称为contentToGlobal 和 globalToContent的函数(这是Sean Christmann 和我今天下午作些”黑客”时发现的),如果你曾经使用过globalToLocal或者localToGlobal,或许你可以使用与之相似的”content”版本代替,下面来说为什么。
让我们假设你的程序有两个红色方块,一个在根层或者在应用程序层次的场景上,另一个嵌套在一个x位置为5px的组件中。应用程序层次的方块设置x位置为 x=10,如果我们希望使两个方块位于相同的X坐标,则另一个嵌套在组件中的方块需要设置x为5,这样组合加起来就是10px。

Safari Web Content Guide – 配置视口

发表于 & 归档在 HTML, Web.

配置视口

iPhone OS 版本的Safari使用缩放模式显示网页,通常为桌面版设计的网页在这种模式下都工作良好,如果默认设置不适用于你的网页,那推荐你修改视口设置,如果你专门为iPhone OS设计网页,更加需要修改视口配置。配置视口很简单,就是在网页中添加一行代码,当然要理解视口属性如何对iPhone OS中的网页起作用是很复杂的。配置视口前,你需要深入了解iPhone OS中的可见区域和视口区域。

如果你已经熟悉了iPhone OS的视口机制,可以阅读 “Using the Viewport Meta Tag” 了解视口标签的详细使用,阅读 “Viewport Settings for Web Applications” 获取web应用程序技巧,此外按下面的顺序阅读这些章节:

Safari Web Content Guide – 调试

发表于 & 归档在 HTML, Web.

你需要在桌面环境和iPhone OS设备都测试你的网页,如果你没有iPhone OS设备,你可以在 iPhone OS SDK 中的模拟器中测试,因为iPad屏幕较大,而Safari的行为方式也会有些微区别,所以你还需要在iPad上测试(使用模拟器或者iPad设备),你还可以通过修改桌面版Safari的user agent来模拟iPad。对于任何平台Safari中的测试,你都需要使用调试控制台调试你的网页内容。

iPhone OS 版本Safari提供了一个调试控制台,允许你在模拟器或者设备上调试你的网页内容和程序,这个控制台可以显示异常,警告,提示,并记录HTML, JavaScript和CSS信息,控制台也可以显示未拦截的JavaScript异常,本章介绍如何激活调试控制台,察看控制台上的消息以及打印你的消息。

更多Safari上的调试技巧,可以参阅: Safari User Guide for Web Developers. ,阅读章节 Safari User Guide for Web Developers  中的 “Changing the User Agent String”  学习如何在桌面版Safari中模拟iPad ── 在用户代理菜单中选择“其他 ”,然后输入iPad的 user agent string ,详见 “Using the Safari User Agent String.”

Safari Web Content Guide – 网页内容优化

发表于 & 归档在 HTML, Web.

优化iPhone OS下网页内容的第一步:将iPhone OS特有的内容与桌面版本的分开,接下来为iPhone OS调整网页。即使你的目标平台不是iPhone OS,你也可以按这些步骤操作,这可以确保你的网页在以后更容易维护

使用条件判断CSS,为iPhone OS创建特有的样式,见 “Using Conditional CSS.” 中的描述,你还可以通过对象侦测和WebKit侦测使用主流浏览器不支持的扩展功能 “Follow Good Web Design Practices” ,如果有必要,使用user agent字符串判断Safari版本和设备类型 “Using the Safari User Agent String” 。

完成优化后,阅读余下来的章节学习viewport属性的设置,文字大小的调整,表单排布,增加事件监听,使用程序链接,导出iPhone OS支持的媒体格式,最后学习调试网页“Debugging” 。

Safari Web Content Guide – 事件处理

发表于 & 归档在 HTML, Web.

本章介绍iPhone OS中用户网页交互时产生的事件,表单和文档会产生和桌面版相似的事件,iPhone OS 上的 Safari通过手势模拟鼠标事件,此外你还可以直接监听多点触摸和手势事件,这些是iPhone OS特有的,方位事件是另一种iPhone OS特有的事件,还有一点需要知道是哪些事件不被支持,如剪切,复制,粘贴。

用户可使用手势代替鼠标事件,如双拍缩放,滑动平移,但是单触多点触摸能否产生这些事件取决于点击对象是否可点击或者可滚动,见 “One-Finger Events” 和 “Two-Finger Events.”中的描述。

可点击对象有:链接,表单对象,图片热点区或者其他添加了 mousemovemousedownmouseup, 或 onclick 监听的元素,可滚动元素是任何有正确 overflow 样式的对象,文本区域和可滚动的 iframe 元素。因为这些差异,你可能需要更改某些元素为可点击的,见 “Making Elements Clickable,” 中的介绍,了解其在iPhone OS下的行为特点。

此外,你可关闭Safari的默认行为,见 “Preventing Default Behavior”,并直接处理这些多点触摸和手势事件,这样保证开发人员能如同本地程序那样,实现独特,参阅 “Handling Multi-Touch Events” 和 “Handling Gesture Events” 了解更多触摸事件。

Safari Web Content Guide – 获取地理位置

发表于 & 归档在 HTML, Web.

本章介绍获取和跟踪主机设备地理位置信息的相关JavaScript类,这些类隐藏了位置信息如何获取的具体实现──是通过GPS, IP地址,Wi-Fi,蓝牙或者其他技术?这些类允许你获取当前位置,或者一系列位置更新信息。

地理位置类

Navigator 对象具有只读的 Geolocation 实例变量,你可以通过这个 Geolocation 对象获取位置信息, Geolocation 中获取位置信息的函数通常可以设置回调函数, PositionCallback 或者 PositionErrorCallback 实例,因为获取位置信息可能会被延迟,无法立即返回结果,当位置被获取或者出现异常时会触发这些回调函数,如果位置信息获取到,位置回调函数会传入一个位置对象,如果出现异常,异常回调函数会传入一个 PositionError 实例对象描述错误信息,位置信息使用经纬度表示.

定制Flex Spark组件外观

发表于 & 归档在 Flex.

Flex3到Flex4,增加了Spark组件,这是Flex的一次重要升级,基本上组件全部重写了一套,为了保持向下兼容,出现了同一组件两套实现并存的现象,虽然说Spark组件中也可嵌入MX组件,但实际使用常会遇到些小麻烦,例如mx:Tree滚动条异常,透明背景无法监听鼠标事件等等,如果你使用定制的组件,写法稍有不规范,就会出现Spark下显示异常,比如之前定制的圆角文本输入框就是如此,不得不在Spark下重新实现。