各浏览器 for-in 遍历对象属性的顺序差异
最近一个项目的开发中,初始化导航菜单的数据,后台给定的数据是 JavaScript 对象,其键是菜单的 id (数字),值是菜单对象。数据如下:
var menuList = {
'26':{'name':'新闻','model':'list'},
'23':{'name':'娱乐','model':'list'},
'25':{'name':'体育','model':'list'},
'21':{'name':'读书','model':'list'},
'24':{'name':'时尚','model':'list'},
'22':{'name':'女性','model':'list'}
};
var info = document.getElementById('info');
for (menu in menuList) {
info.innerHTML += menu + " : " + menuList[menu]['name'] + "<br/>";
}
在 IE6、IE7、IE8、Firefox、Safari(包括 iPhone)中,遍历得到的结果,和给定的一致:
26 : 新闻 23 : 娱乐 25 : 体育 21 : 读书 24 : 时尚 22 : 女性
而在 IE9、Chrome、Opera、Android 中,输出的顺序则是:
21 : 读书 22 : 女性 23 : 娱乐 24 : 时尚 25 : 体育 26 : 新闻
jQuery 1.7 新的事件 API
今天发布的 jQuery 1.7 中,对以前的 bind/unbind、live/die、delegate/undelegate 三个事件绑定方法做了统一:
$(elements).on( events [, selector] [, data] , handler ); $(elements).off( [ events ] [, selector] [, handler] );
当提供了selector参数时,.on() 和以前的 .delegate() 方法十分类似;当selector参数忽略或为空时,又和以前的 .bind() 很相似。
有一点需要注意,当 data 参数是字符串类型时,必须要提供一个 string 类型的 selector 或 null,来防止 data 被误认为是 selector。
以前旧的事件 API 在1.7 中依然保留,但是官方推荐使用新的 API。以下是新旧 API 的几个对比例子。
$('a').bind('click', myHandler);
$('a').on('click', myHandler);
$('form').bind('submit', { val: 42 }, fn);
$('form').on('submit', { val: 42 }, fn);
$(window).unbind('scroll.myPlugin');
$(window).off('scroll.myPlugin');
$('.comment').delegate('a.add', 'click', addNew);
$('.comment').on('click', 'a.add', addNew);
$('.dialog').undelegate('a', 'click.myDlg');
$('.dialog').off('click.myDlg', 'a');
$('a').live('click', fn);
$(document).on('click', 'a', fn);
$('a').die('click');
$(document).off('click', 'a');
Android 修改 hosts
因为某个众所周知的原因,有时需要指定域名对应的 IP 地址,Windows 上比较容易,修改 Windows/System32/drivers/etc/hosts 文件即可。
在 Android 下,/etc 是 link 到 /system/etc 的,我们需要修改 /system/etc/hosts 来实现。但是这个文件是只读,不能通过 shell 直接修改。可以通过连接到 PC 上使用 adb 来修改。步骤如下:
- 获得 root 权限:adb root
- 设置/system为可读写:adb remount
- 将 hosts 文件复制到PC:adb pull /system/etc/hosts <PC机上文件名>
- 修改PC机上文件
- 将PC机上文件复制到手机:adb push <PC机上文件名> /system/etc/hosts
完毕。
Eclipse 的 Tomcat 插件
Sysdeo Eclipse Tomcat Launcher plugin 最新版本 3.3 添加了对 Tocat 7.x 的支持。
下载地址:http://www.eclipsetotale.com/tomcatPlugin/tomcatPluginV33.zip
增加了两个快捷键:
- ALT + T 重启 Tomcat
- CTRL + ALT + T 启动/停止 Tomcat
官网:http://www.eclipsetotale.com/tomcatPlugin.html
解决在iframe页面里使用了DD_belatedPNG后显示空白的bug
IE6不支持png的图片,DD_belatedPNG这个js脚本可以使png图片或背景透明,http://www.dillerdesign.com/experiment/DD_belatedPNG/ 。但在使用过程中发现一个问题,当页面嵌在iframe里面时,显示的是空白,什么都看不到,问题出现在下面这个地方:
if(a.currentStyle.position=="static"){
a.style.position="relative";
}
这里的a元素没有排除HTML节点,把HTML的position也设为relative了,改为下面的代码即可解决问题:
if(a.currentStyle.position=="static"){
if(a.nodeName!='HTML'){
a.style.position="relative";
}
}
Firefox 4.0 正式版发布
今天 Mozilla 基金会发布了火狐4浏览器(Firefox 4)正式版。
火狐4新增添的主要特性之一是,火狐浏览器内核得到相当大幅度的改进。与目前的稳定版火狐3相比,火狐4的 JavaScript 性能提高了2倍。火狐4的速度与IE9、Opera 和 Google Chrome相当。
火狐4对互联网标准的支持程度更高,其中包括CSS3、HTML5和互联网图形兼容性。其他重要的特性包括硬件加速、WebM格式视频、隐私控制,以及在Windows 7平台上支持多点触控。
作为 web 开发人员,我关心的是Firefox4 对 HTML5、CSS3等的支持。以下是在 http://fmbip.com 中,Firefox 4 的测试结果。
上述测试来自Findmebyip.com,这个网站基于modernizr项目,能够快捷检测出浏览器对付HTML5新特征的支持。
更多关于 Firefox4 的介绍,请访问官网:http://firefox.com.cn/features4.0/
《同桌的你》程序员版
昨天的离别宴后,江宁在 KTV 唱了这首翻版的《同桌的你》,感慨良多啊……
明天你是否会想起
昨天你写的程序
明天你是否还惦记
曾经爱编程的你
领导们都已想不起
曾经爱加班的你
我也是偶然看程序
才想起同事的你
谁聘了牛B烘烘的你
谁安慰天天加班的你
谁把你的设计做起
谁给你做的升级
你从前总是很小心
从不把离职提起
你也曾无意中说起
薪水实在太低
那时候屏幕总在闪
日子总过得太慢
你总说离职遥遥无期
转眼就各奔东西
谁聘了牛B烘烘的你
谁安慰天天加班的你
谁看了我给你写的信
谁把它删在回收站里
小沈阳夫妇《都要好好的》
2011年2月3日,北京电视台春节联欢晚会上,小沈阳与沈春阳一起演唱了新歌《都要好好的》。歌词朴实无华,但却十分感人。
情人节到了,祝愿天下有情人终成眷属。
歌词:
旭日阳刚《春天里》,春晚绝唱
汪峰已经要求旭日阳刚不能以任何形式唱《春天里》这首歌曲了。我支持汪峰这种保护音乐版权的想法,但是我知道,这首歌,即使汪峰自己唱,也永远唱不出来那种沧桑、感人的感觉了。“汪峰从底层熬出来了,唱的是成功后的迷惘和对奋斗青春的回顾。 旭日阳刚则唱出了底层草根的困苦沧桑,更唱出了视歌唱为生命的力量。”春晚舞台上,当二人从舞台上徐徐升起时,看到如此漂亮的舞台,无数期待的目光,那个抱着吉他哽咽着唱破音的旭日阳刚,给予了这首歌灵魂。

旭日阳刚组合在央视2011春晚上演唱《春天里》 图片点击放大
转载:我奋斗了18年,却来不及和你坐在一起喝咖啡
本文转载自和菜头的树洞,原文地址:http://www.shu0.net/?p=10864。如需转载,请注明原始出处。前几年,《我奋斗了18年才和你坐在一起喝咖啡》、《我奋斗了18年,不是为了和你一起喝咖啡》两篇文章,曾引起网友的很大反响。而这一篇《我奋斗了18年,却来不及和你坐在一起喝咖啡》,真实的描述了现在当下时局的诸多弊端,让人感同身受,撕心裂肺。
一位没有署名的朋友来信说:
菜头,你好!连日来总有写点什么的念头,自然是觉得心中悲苦,无处言说。身边我这个年纪的朋友,给他们说这些事,似乎有些不合时宜了,至于年轻的伙伴,或许告诉他们也未必起到我期待的效果。想想偌大比特海,第一反应竟然是跑来树洞排解,真的谢谢你,也谢谢树洞。
起这个题目是受曾经那两篇网络上广为流传的文章影响。所以你应该也猜到大意了,让我觉得悲苦的并不是我自己的事,至少我自己看来,我这段日子活得滋润极了。空气阳光面包爱情,都足够我最大的需求。我真的没办法去跟自己的同事同学讲我很悲哀,感到痛苦。换位思考我也会认为自己是在装逼,不过我相信树洞会有人理解吧。希望看到的人不要觉得可笑。
《我奋斗了18年,却来不及和你坐在一起喝咖啡》
似乎不少人都已经认同,农村娃要来到城市并且过上不错的生活,就应该勤奋律己艰苦拼搏,在城市乱葬岗般的钢铁丛林里要挤出一条活路,只能是爱拼才会赢。可是他们都忽略了事情的源头,那所谓的三分天注定。是的,不公平才是常态,正因为每个人都感觉不公平,世界总算实现了另一种意义上的公平。但长久以来的麻木,已经没有几个人去申诉这种不公平的扩大和加深,这难道不悲哀吗?一个显而易见的事实是,5到10年前大学毕业后选择继续在北上广奋斗的农村孩子,还有机会依靠自己不超过两个人的力量结婚生子,买房买车,幸福地活着。而这一两年的农村大学生,如果没有贵人相助,没有奇迹发生,基本就没有在一线城市独立生活的可能了。





