json2select的全国城市数据

去年写过一个小插件,json2select 一直想要转换出配套的数据,但总有这样那样的问题之后,终于拖到了现在。
好在一切悲剧的日子已经过去了,新时代已经来临。猛击这里
三级联动,直辖市精确到城镇街道,一般城市到达区。强烈推荐。

这一切都要感谢 Asfman ,辛勤的工作,当然也少不了感谢搜狐白社会,是他们提供了这么好的数据,也要感谢我们伟大祖国,我们中华民族地大物博,省市也很多……

这套数据有100K多一点,但可以想办法压缩
把其中重复字符串替换掉,把街道替换成j,市替换成s,区替换成q,都可以减少文件体积。要用的时候先用正则替换后,再eval执行字符串就能得到数据了,可以达到68K左右
另外,保存成gb2312的话也可以减小体积。目前我手头的是52K左右大小了。但可能导致乱码,慎用。

进一步,如果通过词频分析,找出重复最多的前20个,替换的话,相信可以把体积维持在30K以下了。但手头没工具,最近也很忙,所以大家自己发挥吧。
我粗略压缩后的东西我就不单独发布了。

update:
在热心网友 Noker (虽然截止到目前位置似乎博客里还空着)的帮助下,已经把这套数据压缩到只有30K左右了。太棒了!
大家可以到 移步到这里下载 对应的数据,以及查看demo

update:
网友fantasy提出一个潜在的bug,由于这套数据中只有 标题 子元素 而没有对应的value值,所以后台无法获取到。为此需要修改一下源文件创建option的那一行

能支持IE6的前端更牛,还是敢对IE6说不的更牛?

前几天群里探讨一个问题,作为一个前端,是能够支持更多的浏览器比较牛,还是勇于对IE6说不,更牛一些呢?IE6在其特定历史时期内起到了举足轻重的作用。而如今,是时候让他寿终正寝,离开历史舞台的时候了,他却欲罢还休不离不弃。面对这种态势我们能做些什么吗?

1.臭名昭著的IE6

IE6已经成为现代前端工作者的痛。是的,IE6有无数的毛病,无数的bug。尤其是在现今以CSS作为控制HTML表现得今天,IE6所具有的无数CSS毛病更是让现今的前端工作者痛不欲生。随便就能举出几个问题:双倍边距,3px,重影等问题。IE6也不能彻底支持:hover这种伪类。这些使开发者不得不为IE6制定特定的规则,不论是使用hack、条件注释、条件CSS或者使用JS来弥补,都不同程度上增加了工作量,降低了产值。而如今,大量在线应用的出现,丰富的JavaScript内容的存在,IE6底下的JS执行效率严重阻碍了体验。此外,还有png不透明度的问题。

实际上,这也不能怪IE6,他出现的时候,全世界还都是在表格布局的控制下呢。自然他对标准的支持比不上其他后起之秀。尤其是最近动作很多的以webkit核心的浏览器。

但IE6罪恶之处在于:当他完成历史使命后,依然霸占着互联网的舞台。

2.IE6为何还不退散

首先,微软不主动更新IE6,而是直接推出IE7,并且不强制推送。IE7和IE6界面使用习惯的区别,导致了IE6在很长一段时期内霸占着市场。我就曾经给辅导员升级到IE7,结果又被勒令退回IE6。所幸,这个现象从去年开始已经有所改观了,去年年初起,微软已经开始推送IE7了,而现在IE8也已经在推送了。强制推送的好处是,很大一部分低端用户不会卸载,只能默认接受。虽不人道,也迫于无奈。

另一个导致IE6无法推出历史舞台的原因,也恰恰是微软的Vista的失败。实际上,IE6进入市场取代IE5.5也正是从XP普及开始的。而Vista迟迟无法普及,就导致了其捆绑的IE7无法普及。

还有一个原因,也是由于IE6拖了太长时间,反而导致很多公司内部系统只能在IE6下正常运行,进一步导致这些公司无法部署更高级版本的IE。

实际上,虽然我主要浏览器是chrome和firefox,我本人系统也装的是IE6,一方面是开发需要,另一方面是,IE6速度确实比IE7和IE8快很多。开个网银也更令人惬意。

在这些多重原因的驱使下,IE6成了阴魂不散的恶鬼。

另外,月光博客也有过分析过 IE6在中国依旧占据了庞大市场的原因,可以移步看看。

3.前端工作者的现状

IE6对于标准的践踏的同时,超高的占有率给了所有前段开发者不能抛弃IE6的理由。痛苦,但却无可奈何。

前端工作者为啥不能无视IE6?老板用IE6,老板的朋友用IE6,这是普遍的原因之一。当然,也有拿出数据说,我们网站40%的人还在用IE6访问。

于是,为了那些IE6的用户(包括自己的老板和老板的朋友),前端们不得不为了IE6单独写hack。就我目前经验来说,我现在唯独专门写hack的就是IE6了,其他各种浏览器下几乎没有出入。

是的,为IE6多付出的工作量还是可以换来对应的回报的,也为此,在国内前端们无奈的“纵容”下,IE6用户升级速度进一步放缓。

4.国内外如何推动IE6的灭亡

前几天,国外著名科技网站 Mashable 一篇名为: IE6 Must Die for the Web to Move On 报道,希望IE6能尽快滚蛋中文翻译版。另外,Twitter上也有对应的头像加工的网站,在自己的头像上加上一个小图标: http://twibbon.com/Join/IE6-Must-Die

国外几大网站纷纷针对IE6用户设置了升级的提示。

twitter:
twitter-ie6

youtube:
youtube-ie6

facebook:
facebook-ie6

5.我们可以做些什么

是的,面对这个浪潮,我们可以做什么?一味得妥协?主动行动起来吧!
要相信只要每个人的共同努力,就一定可以让IE6离开这个舞台。
至少,我的老爸就会使用Chrome上网,而不是IE。

1,买新电脑吧!
是的,新的电脑通常配有vista系统,小白们不会跑去装xp的。而vista自带IE7。从此让小白跟IE6说拜拜吧!而更好的情况是,Win7马上就要上市了。到时候更加肆无忌惮忽悠小白买电脑吧!

2,这就是互联网!
没错,中国很多网民,认为那个蓝色的e就是互联网,认为百度或者谷歌就是互联网。那么很简单,直接换一个浏览器,把那个e删除,然后告诉他们,那个狐狸,或者那个球球就是互联网,打开这个,你就上网了!我就是这样告诉我老爸的。现在,他很自如得使用Chrome上网,看视频,看新闻。乐在其中,又很安全,我也放心。

3,你的电脑存在安全漏洞!
看到喜欢使用傲游、TT等IE马甲的用户,直接告诉他们,电脑有安全漏洞,需要升级!是的,他们会相信你的!同时,他们根本不在乎IE的内核是6还是7,但,你在乎,不是么?

4,推荐你一个很棒的浏览器
诚然,存在不少用户,只用IE6,给他们升级后,会说,这个浏览器用不惯。这个时候怎么办?应该向他们推荐用其他浏览器,比如傲游,然后,参考第上面一条。
实际上,直接推荐Chrome也是很容易成功的,我推荐给不少人用Chrome,无不为其急速所震撼。而我之所以推荐傲游,因为傲游3将默认使用webkit引擎,而在遇到网银时自动切换回IE的内核。实在是好。注意,不要随意推荐Firefox,因为Firefox启动速度过慢,以及配置扩展的复杂性,往往让小白们望而生畏。

此外,国内我也看到不少人为了推进IE6的灭亡而所作出的努力。比如 http://www.webrebuild.org/就有类似的计划。只需要把下面代码放到自己的博客上,就可以了。更有甚者,麦鸡的博客已经完全屏蔽IE系列了……

6.到底谁更牛?

能支持5、6个浏览器的前端与敢对IE6说不的前端谁更牛,这不重要。重要的是,能为推动IE6的离去做些什么。
如果什么都不做,安于现状,那么,只会让IE6推迟消亡,自己受到的苦难更多一点,更长一点。
从自己身边的事情做起,相信自己,不论是积极推动还是消极被动,你都在用自己的方式改变这个世界。知道这点,就可以了。