IE6的position:fixed

手头一个项目中,要实现把一个浮层控制在浏览器窗口右下角,用”position:fixed”来控制最合适不过了。

但万恶的IE6不支持这个属性,之前采用过的方法有:将滚动条转移到body上,使用绝对定位控制浮层位置;使用JS实时判断滚动并设置浮层位置。

第一种方法局限性太大,页面中有其他绝对定位元素会受到影响;第二种方法需要在页面里加定时器,资源开销和时间成本都有点高。

后来在同事小卓的启发下,使用CSS表达式完成了IE6的兼容,代码如下:

_position:absolute;
_top:expression(document.documentElement.clientHeight - 213 + (e=document.documentElement.scrollTop) +'px');
/*
document.documentElement.clientHeight : 浏览器串口高度
200 : 浮层高度
(e=document.documentElement.scrollTop) : 滚动条高度
 */

CSS表达式虽然方便,但浏览器资源损耗仍然很大,要根据具体应用场合决定,“一切皆权衡”,哈~

Google App Engine、Twitter API Proxy、Mixero搭建Twitter环境

以前用Twitter都是通过代理访问网页或者使用第三方网站,今天安装了一个桌面客户端──Mixero,使用Google App Engine架设了一个Twitter API代理,就可以在桌面上随时看推发推了。网上一些假设教程不大准确或已过期,这里记录一下自己的操作过程。这些操作都是在MacOS下进行的,在Windows和Linux下也都类似。

Mixero

Mixero是一个优秀的Twitter客户端,基于Adobe Air,支持各种操作系统,并且有中文版本。

由于众所周知的原因,Mixero必须通过代理才能与Twitter连线,下面的繁琐的步骤都是拜GFW所赐,Let’s Fuck Them!

阅读全文 »

我的淘宝花名

很早就听说过淘宝的花名传统,阿里的一些牛人也顶着花名扬名立万。今天,我也在释然师兄的帮助下选取了自己的花名,过程有些遗憾,结果更多的是兴奋和期待。

一直以来都没有一个固定的网名,QQ上叫虫子,很多朋友叫我啊花,自己还常用j5726等。

接到淘宝的offer后,就开始考虑花名的事情。最先想到的是鱼同,《书剑恩仇录》中的余鱼同,是一个很纠结的人物,潇洒但专情、任性却正义。同《卧虎藏龙》中的玉娇龙一样,是一个有血有肉,让人又恨又爱的形象。很幸运,这个名字没有被占用,但又很不幸,系统中存在同音字,所以拼音ID冲突,不能使用。。

接下来,又让师兄帮忙试了我熟悉的几个人物,都被占用了。群里的朋友也帮着我出谋划策,结果一个个闪亮的名号都被无情的扼杀。

最后的最后,从系统推荐的名字中选了这个 ── 当当当当,“额台”!

速别额台,又称速不台,是成吉思汗时期蒙古的杰出军事家、战略家,曾攻陷莫斯科,占领匈牙利,戎马一生,直至老死在军营里。

八百年后的今天,在前端行业里也会出现这样一个“额台”,希望能像先人一样,矢志不渝,终生奋斗,在行业中留下自己的一笔。

以上自勉。

豆瓣,可以成为值得我们尊敬的互联网公司吗?

按照某种不成文的惯例,在开始之前,我不得不要再次论述一下 什么是豆瓣。当然,如果你自信足够了解,可以跳过下面的一小段引用文字。

豆瓣网成立于2005年3月26日,是一个典型的Web 2.0 网站。它提供社交服务和在线的音乐、书籍和电影数据库。在2008年,它拥有将近 1,200,000 名用户,并被  Alexa Internet 列入中国百家最受欢迎的网站之一(排名第74名)。  豆瓣允许用户为电影、图书和音乐评级。它的用户评选出的最受欢迎的图书常常被中国的一些顶尖媒体引用。

——引用自 kngine.com

一、写在前面

在众多的网络公司之中,大部分人都不得不提到其中一家最为著名、也是最为成功的公司—— Google 。没错,Google 作为最受欢迎的搜索引擎公司,它在其他领域的影响力也不可小视。当然,中国的互联网网站能够从它身上学到大量的东西。我个人认为, Google 成功的原因来自于以下三个方面:专注、开放、创新。

阅读全文 »

小白磨合 - 求职这些天的所思所得

终于娶回了梦寐以求的小白,用上了传说中程序员必用的MacOS。

好久没写东西了,打点字,顺带磨合一下新机器。

出来找工作好多天了,交流中、面试中遇到的很多问题都是自己从未考虑过的,从中想到了不少,学到了不少。

关于视野与极限

阅读全文 »

可以在前端实现的几个地理位置小功能

在Smashing Magazine上看到这篇Entering The Wonderful World of Geo Location,介绍了获取并处理用户地理位置的应用和方法,很有意思。结合原文的内容,加上之前的一些应用,整理了几个可以完全在前端实现的地理位置相关小功能。

1.通过IP获取用户位置

很多时候需要通过IP判断用户的位置,通常的办法是通过自己的后台程序查询数据库得到。如果用户位置只是应用在前端,或者有其他的特殊原因(比如,懒:),也有一些其他办法来快速的获取用户位置。

maxmind.com提供了一个服务,通过引入一个js文件(http://j.maxmind.com/app/geoip.js),可以把他判断到的用户的国家、城市、经纬度等信息加入到页面中来。下面是从青岛访问这个js文件返回的内容:
阅读全文 »

TED2010:下一代的地图技术在微软而非Google

点击”View subtitles”可以显示中文字幕

阅读全文 »

JavaScript单元测试工具 — QUnit

QUnit是jQuery团队开发的JavaScript单元测试工具,使用方便,界面美观。近期试用了一下并进一步了解了JavaScript单元测试,记录一下所思所得。

什么是单元测试

单元测试又称为模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。单元测试主要是用来检验程式的内部逻辑,也称为个体测试、结构测试或逻辑驱动测试。通常由撰写程式码的程式设计师负责进行。

通常来说,程式設計師每修改一次程式就會進行最少一次單元測試,在編寫程式的過程中前後很可能要進行多次單元測試,以證實程式達到軟件規格書(en:Specification)要求的工作目標,沒有臭蟲;雖然单元测试不是什么必须的,但也不坏,這牽涉到專案管理的政策決定。

—— 维基百科 (中文英文)

为什么JavaScript需要单元测试

阅读全文 »

jQuery1.4下载、性能及新特性详解

jQuery1.4正式版发布了,官方同步推出了The 14 Days of jQuery 网站,来介绍jQuery1.4的新特性和教程,其中有一篇文章详细介绍了jQuery1.4的新增功能,现转载其中文翻译如下:

原文:jQuery 1.4 Released

翻译:coolnalu

jQuery 1.4 发布啦

为了庆祝jQuery的四周岁生日, jQuery的团队荣幸的发布了jQuery Javascript库的最新主要版本! 这个版本包含了大量的编程,测试,和记录文档的工作,我们为此感到很骄傲。

我要以个人的名义感谢 Brandon Aaron, Ben Alman, Louis-Rémi Babe, Ariel Flesler, Paul Irish, Robert Kati?, Yehuda Katz, Dave Methvin, Justin Meyer, Karl Swedberg, and Aaron Quint。谢谢他们在修复BUG和完成这次发布上所做的工作。

下载(Downloading)

按照惯例,我们提供了两份jQuery的拷贝,一份是最小化的(我们现在采用Google Closure作为默认的压缩工具了),一份是未压缩的(供纠错或阅读)。
阅读全文 »