发表于 & 归档在 Web.

JavaScript中的比较操作符Equality(==)和Identity(===),以及类型间的转换是让人头疼的问题,虽然很多情况下都不需要,但多了解些,备特殊之需:

一道有名的javascript题目,其中有一处判断语句如下:

[javascript]alert([] == ![])[/javascript]

简单解答

1、”![]”结果是什么?

[]转换成boolean,按ToBoolean规则,object转换成boolean,返回true,然后取反,所以“![]”的结果是false

2、”[] == ![]”结果是什么?

看等号的左右两边,一个类型是object,一个是boolean,按不同类型对象间比较的规则:

[]” 转化成number ,结果是0

false,转换成number,结果是0

所以[] == ![] 结果为true,问题的关键是object和boolean比较,先转换成number(ToNumber())然后比较。

3、”[] == ![]”始终为真吗?

答案是否定,上面的结论是默认的情况,如果重写Array.prototype.valueOf方法,定制array转换成 number的过程,可以得到不同的结果,如:

[javascript]
Array.prototype.valueOf = function(){
return 1;
}
//结果是false
alert([] == ![]);
[/javascript]

发表于 & 归档在 Web.

原始地址:http://developer.apple.com/library/safari/#documentation/appleapplications/reference/safariwebcontent/CreatingContentforSafarioniPhone/CreatingContentforSafarioniPhone.html#//apple_ref/doc/uid/TP40006482-SW3

Safari的文档看过让人受益匪浅,比如网页中添加doctype信息,不要总是使用 user agent 判断浏览器

创建兼容的Web内容

本章介绍兼容桌面版和iPhone版本safari的一些好的做法,这些准则简单的改进了系统在各个平台上的可靠性、性能、呈现效果和用户体验,如果你的目标是iPhone OS,第一步是让你的web内容在桌面版本中能正常工作,如果你的目标是桌面版本,通过很小的修改就可以使之在iPhone OS上很好的呈现。

举个例子,你需要注意iPhone OS上Web内容的布局和功能局限,如果你使用条件CSS(参考章节: “Optimizing Web Content,” ),你的网页可以在iPhone OS上最佳化,同时其他浏览器也可以正常显示,阅读余下的章节学习如果使网页内容在safari下最佳显示。

iPhone OS 注意:当你设计网页,首先要了解iPhone OS下的Safari 网页如何渲染,用户如何通过触摸手势进行缩放,平移和双击交互。阅读 iPhone Human Interface Guidelines for Web Applications 了解iPhone OS平台下的使用习惯,技巧和界面交互设计。

发表于 & 归档在 Web.

介绍

Safari运行在多种操作系统和设备上,所有的Safari版本-包括桌面版和iPhone OS版-都是用相同的WebKid内核,此外为桌面版编写的网页内容无需修改就可以在iPhone OS上显示,存在某些差异,但基本上是兼容的,接着你可以为iPhone OS定制你的网页,以适合用户访问,如确保你的网页能在Wi-Fi,3G和EDGE网络下使用,正确的渲染和缩放,使用iPhone OS支持的媒体,对于其他设备如iPad也只需少量的修改,最后你就可以创建兼容各个平台,如同本地程序效果的Web应用了。

桌面版本的Safari支持Mac OS X和Windows,是全功能的浏览器,支持行业标准,并包含很多WebKit扩展,此外还包含开发工具,用于分析测试,调试网站和Web应用程序

iPhone OS版本的Safari,是用于iPhone, iPod touch, iPad的浏览器程序,同样是全功能的浏览器,运行在高分辨率屏幕的手持设备上,是特别用于支持触摸输入,多点触控交互的Safari版本,同时他支持横向和纵向渲染网页,还包含一些内置功能,如:PDF预览,视频播放,以及通过链接拨打电话,发送邮件,打开地图和YouTube程序的功能。

发表于 & 归档在 HTML, Web.

SVG Use 标签bug
一个是use类型引用image第一次不显示的问题,究其根源是image load后,不会派发事件告诉use节点刷新,这个问题困扰我们很久,后来给firefox提交了 bug(https://bugzilla.mozilla.org/show_bug.cgi?id=575210),

问题表现是,第一打开图片不显示,刷新一次就可以了

firefox很快回复了bug,与bug548795相同,而Bug 548795 depends on bug 558663

发表于 & 归档在 Mobile, Web.

离线程序,注意下面三处
index.html

<html manifest="book.manifest">

book.manifest

CACHE MANIFEST
index.html
scripts/book.js
styles/screen.css

Tomcat ,WEB-INF/web.xml
<mime-mapping><!– manifest –>
<extension>manifest</extension> 
<mime-type>text/cache-manifest</mime-type> 
</mime-mapping> 

发表于 & 归档在 图形学.

不知道大家有没注意firefox中的字体设置,包含四种名词:
衬线字体(serif,白体,罗马体):字符端点有突起或修饰,比如宋体
&#28;无衬线字体(sans-serif,黑体):
比例字体(Proportional font): 字符宽度不相同的字体
等宽字体(Monospaced Font):字符宽度相同的字体