Category: 未分类

  • Internet Explorer无法打开站点,已终止操作

    看到这个对话框,谁都会骂微软的娘,妈的,又来浪费老子时间!不过我们骂也就是出出气而已,大部分人群智商比较低,造成了微软市场运作的成功。

    关于这个问题比较合理的解释,这里有一个

    在页面还没有ready的时候就调用了htmlObject的appendChild或者innerHTML操作,这样会在IE上弹出一个对话框:“Internet Explorer无法打开站点,已终止操作”

    解决方法有两个:

    • 在appendChild或者innerHTML操作处判断document.readyState==”complete”, 若为否,则setTimeout若干秒之后重新作这个操作。

      但是,此属性只对ie,opeara有效,ff的document没有readyState属性,永远是undefined.

    • 在script中使用defer属性。意在页面加载完毕后再执行脚本,这样可以避免找不到对象的问题。defer不会考虑外部文件是否全部下载完,只会判当前页面是否全部加载完成。并且,有defer标签的代码块里不能写document.write方法

    和一般的javascript语法错误不一样,即使启用了脚本调试,IE也不会让你去调试这个错误。所以看到这个对话框,你就应该检查哪些javascript语句在文档还没有load完成时执行了一些dom操作。

    除了上文提到的两种办法,当然也可以把这些操作放在页面的onload事件处理中执行。

  • Google Talk桌面客户端新版

    Google Talk Labs Edition发布已经有一段时间了。我刚刚安装的时候,发现除了把一些网页版的功能加入之外,整体上变得极其难用。

    没有了设置选项的地方,聊天记录不能复制,刚打开时输入中文总是乱码,搜索联系人也不好用……

    不过几天前某同学发给我她的flickr地址,gtalk马上把这个地址转化成了一个缩略图和两个按钮,一个按钮是打开该链接,另一个按钮点击后,直接在gtalk顶部以幻灯片方式浏览这个相册,太酷了!

    我立即联想到了Youtube,于是给对方发送了一个youtube的视频地址,果然不出所料,gtalk用同样的方式处理了这个链接,点击View即可在顶部观看这个视频。这样,在gtalk上分享视频的时候,就可以不中断双方的对话,可以一边观看视频一边继续交谈或者交流观看视频的感受,使得沟通变得更加流畅。

    似乎Gtalk的官方博客并没有提到与flickr/youtube的集成,只有一些“小道消息”对此有所提及。

    后来与人共享Google Spreadsheet的时候,发现其中的聊天模块也换成了和Google Talk Labs Edition一样的一个Flash——桌面版其实也是个Flash,因为我在一台新机器上试用的时候,它要求我先安装adobe flash player. 在这里,flickr/youtube的链接也被特殊照顾。

    不过朋友在Google docs中选择的语言是中文,她那里显示的是和我差不多的聊天窗口,也是flash,不过flickr/youtube的链接没有作处理,不知道是什么原因。

  • WordPress中的英文(半角)单引号

    在WordPress里,保存文字时系统都会有一些filter函数对输入的文字进行处理,然后再输入数据库。但是这个过程中英文(半角)单引号的处理有些诡异。

    无论是在设置中的blog标题,还是日志,输入的英文单引号都会被转换成”’”这样的表示方法。在HTML页面中输出特殊符号(HTML entities)时转换成这样的表示非常值得推荐,问题是”’”表示的是全角的单引号,即中文的单引号。

    我们一般也不会在意,不过昨天,我帮她搬家的国内互联网某知名博客(其blog标题中有个单引号)说很丑。于是我想了想,英文单引号的正确表示是”'”,填入,然后点击Save Changes。嗯,真正的英文单引号显示在了标题栏,世界清净了。

    不过此时要注意看,Blog Title输入框里的”'”又变成了英文单引号!如果再次点击Save Changes,那么前功尽弃,单引号又变成了全角。所以每次保存这个表单时,都需要把这个引号用”'”替换,再保存。

  • 从blogbus搬家到WordPress

    最近刚刚帮国内互联网某知名女博客搬了家,稍微写点东西。

    据她说,许多人对她说“使用wordpress是成名的第一步”。又据说还有Blogbus的人跑去留言“Blogbus竟然还有这样的人”。要是一直用WordPr
    ess,早就火了。

    Blogbus也算国内数一数二的BSP了(新浪、搜狐那些不能叫做blog,也就不算在BSP之列——顺便鄙视一把),导入功能做得炉火纯青,然而导出就只是作为备
    份用了。这也不能怪blogbus,因为各种blog平台之间并没有统一的交换格式。普通的RSS输出显然不能胜任,因为完整的转换至少还要包括评论以及评论与日志之
    间的对应关系。

    然而一旦有了备份,一般情况下也就解决了问题。比如WordPress就提供了导入Movable Type导出文件的功能,Movable
    Type同样也有导入WordPress eXtended RSS(WXR)的功能。

    不过东方文明还不为西方世界所熟知,譬如Automattic就不知道东方有一个Blogbus,所以WordPress没有直接提供导入Blogbus文件的功能,
    我们只好绕一些弯路。

    事实上这条路已经有很多人走过。冰古算是一位先驱,先后几次更新他的转换程序

    这里又有一位blogger在冰古的启发下写了一个从blogbus备份转换为MT导出文件的脚本,使得评论也可以导入WordPress,但是该文章中的
    下载似乎已成为死链接。另外许多用户反映在服务器上运行时,浏览器中不能显示程序的输出,从而无法复制。这是由于脚本的第一行中指定了Content-type:
    text/xml,浏览器就将它的输出作为xml格式解析。解决办法就是改为Content-type: text/plain.

    下载脚本文件

    我转换的过程中,分类没有导过来,其它的还算正常。

  • Ajax.Autocompleter不支持中文

    最近在使用scriptaculous/完成项目中的一处自动提示功能时,发现Ajax.Autocompleter对中文支持很不好。

    我用的是Google拼音输入法,在输入汉字的拼音时,输入完第一个字母后即触发输入框的事件,js就向服务器查询相应的匹配。实际上此时汉字尚未上屏,出来的匹配是该汉字首字母匹配(英文的)。这样,自动提示功能不仅毫无用处,而且会让用户莫名其妙。

    一番探索之后,发现scriptaculous是在捕捉到keypress事件时向后台发起查询请求的,我仅简单地把keypress改为keyup,即解决了支持中文输入的问题。显然,这是由于输入法在浏览器的更上层处理了键盘事件的缘故。不过本方法没有经过广泛的测试,我只是在Firefox+Google拼音这个组合中试验通过。

    似乎现在jQuery的发展正如日中天,各种插件数不胜数。尽管Prototype以及基于它而来的一些js library仍旧占据着很大的市场,但相对于jQuery来说已经是在走下坡路。

  • 美景在于心情

    世界的存在,是因为我活着;眼前的美景,是因为我心情好。

    去了惠东,我感觉太好了。有一天,我对某人开玩笑说,这次来这里,是我一生中做过的最正确的选择。

    初去的那几天一直是阴天,经常飘着牛毛细雨,很凉爽。家里客人比较多,每天早上睡懒觉起来,都跑到旁边的饭店“饮茶”——广东人的习惯。白天就自由自在地玩,有时候跑到旁边的湖里划船,有时候跟着大家到祖坟扫墓、回老家祭祖、到风景秀丽的山寺拜佛,还跑到惠州的“西湖”去玩。晚上吃了晚饭,就到湖边吹风,或者去广场上看音乐喷泉。

    这样的生活确实很美好,不过前提是无忧无虑。等到快回北京的时候,我就开始计划起回来以后要处理的一些琐事,心情也不是那么舒畅了——我这个人一直是比较悲观的。

    今天早上,刚下过雨,空气像被过滤了一样,很新鲜。走在路上的时候,我就想,假如我在这里没有那么多的琐事缠身,我是来这里度假,这个城市里也有许多让人留恋的美景,生活也可以很美好。回来之后发现门口的一树桃花挤得都放不下了,可是已经过了最鲜艳的时候。玉渊潭的樱花,估计也错过不少了吧。在没有好心情的时候,这些美景会马上被忽略。

    忙过这一阵,如果有时间,我想去欢乐谷,找点刺激,放松一下。

  • 迟来的燃气缴费单

    我们楼的煤气缴费通知单都放在一楼门口的一个纸袋里,可是这次单子发下来的时候,我却找不到我们房间的。说是“这次”,似乎已经过去一个月了。我去问值班的大爷,他先给我来了一段广告,让我租他的房子……blabla……然后才告诉我两个电话——62344438/62344439——我后来才发现以前的缴费单上就写着这个电话。

    于是我不辞劳苦地打啊打啊,可是这两个号码就好像民生银行的客服一样——打不通!过了几天,终于打通了,对方说帮我查一下,然后回电话。过了两天,果然给回了电话,真让我意外加激动,说星期一给我补一张,我连忙道谢。可是到了星期一,我却没有发现补来的煤气单子。

    正好此时去了广东。快回来的那几天,我就开始想回来之后的几件麻烦事,其中之一就是这煤气费。我想,虽然收不到缴费单不是我的责任,但是燃气公司肯定也不会认为是他们的责任,滞纳金不知道有多少,对租给我房子的房东也不知道有没有影响。

    前天,我终于鼓起勇气开始了第二轮轰炸,没想到第三次就打通了,真是幸运。这次直接找来了管我小区的人来接听,我说明情况后,对方就说,你这是欠费了啊。没办法,你不给我单子,我不欠费怎么办?这么神秘的组织,电话打不通,地址也不知道,就管收钱。后来说给我补一张,我说已经补过一回了,对方说第二天下午给我送过来。

    昨天下班回家,终于看到了亲爱的通知单,最迟交费日期一栏写的是4月18日,不错,看来没把责任算在我头上。

    你想想,追着人家给钱!这是什么道理呢?绑匪一般都是通知人“你把钱放在某某地方,钱到手了我就放人”。燃气公司可厉害多了。“您要多少钱?”“我把金额放到某某地方,你看到了就去交钱!”于是我就屁颠屁颠去看该交多少钱,空手而归,还得求人家,“拜托赶紧告诉我多少钱吧!”

  • Windows挂载Linux硬盘(解决乱码)

    前阵子,一台Linux服务器因为根分区满了,挂掉了。紧接着在光盘恢复的过程中发现机器的硬件也有问题,不定时地重启,非常不稳定。尝试了几次,根分区没办法似乎恢复。而因为频繁重启,其它分区的数据也不容易复制出来。

    于是试图在另一台Linux机器上挂载这一块硬盘,结果启动的时候说有重复的/boot label,导致什么错误,启动不了。查了一下,似乎要先改卷标,又要装到服务器上弄。当时嫌麻烦,用一个小U盘复制出来一部分关键数据,就搁那不管它了。

    今天正好有点时间,试着把硬盘拿来装在了我用的Windows机器上。启动一切顺利,进入系统后右下角有一个图标指示发现了新的驱动器,很快就安装好了。打开磁盘管理,发现两个硬盘,其中一个正是刚安装的Linux硬盘,分区状态都是良好,Good.

    然后下载了一个Explore2fs,结果打开一看中文都是乱码。然后又尝试TotalCommander的Ext2fs+Reiser 1.3插件,发现它读取ext3分区实际上就是用的Explore2fs,同样乱码。最后终于找到了救星——ext2fsd. 这东西用起来有点麻烦,打开后,选中想读取的分区,要给它分配一个Windows盘符,然后启动服务,在Windows Explorer里就可以像普通的Windows分区一样打开它了!对了,解决乱码——因为Linux系统一般用的是UTF-8编码,所以右键点击这个分区,选择“配置Ext2卷属性”(没关系,Ext3分区它也给这样的菜单项),在语种编码下拉列表中选择utf8,结果如图:

    ext2fsd

    打开F盘,我想要的东西都在里面了,什么时候愿意就把它们复制出来(据说ext2fsd复制的速度也比较快,相对其它的同类软件)……早知道这么容易,何必当初在频繁重启的间隙中寻找机会。。。

    好了,跟我一起喊:我们的目标是——没有乱码!

  • 行路难

    我们那里的春运秩序太混乱了。

    回家那一天,上了一辆车,说是直达,结果到了保定就说车坏了,然后给了车上每人一张事先买好的到县城的票。这样倒是便宜一点,不过许多乘客因为被欺骗了,很生气,骂了他们祖宗好几辈,还差点动手。感谢这些兄弟拖住了他们。我急匆匆走出几百米后,突然想起箱子拉在车里了,回去一看,还在骂。关键问题在于,大家不知道去哪里投诉,说不定车站方跟他们是一伙呢。

    今天在县城车站,我要上直达车,售票员说满了。我走了,她又喊我回去,让我在站外等。于是车出站后,我上去了。没有座位,售票员变出两个小马扎。直达车省得在保定倒车,就这样凑和着吧……这时超员2个,包括我。后来一路上见客就拉,真是比公交车方便多了,就像某些小城市的公交,“招手停车,随处下车”。我真庆幸自己有个“座”。后来拉的大多是到保定的,到了保定某个公交站,售票员说要上高速,去保定站的赶紧下车,给你们一人一块钱坐8路公交车,啧啧,服务真是周到。有的人不想下,售票员说,不能超员啊!乘客说,一路上挤死了,还不超员啊。售票员说,保定就是咱家,超员怕什么啊,去北京就不行了!

    其实,上了京石高速,还是像最初那样超员2个,不过售票员不知道什么时候消失了。高速上走了不到半小时,嘭的一声巨响,车身剧烈颤抖了一下,然后砰砰的不停响,我周围的乘客吓得惊慌失措。司机把车靠在边上下车看了一下,后轮爆了一个,又上车慢慢开到紧急停车带,修车去了,许多乘客下车去放风。我看了一眼那个轮胎,一排钢丝都断了。真是倒霉。。。

    花了半个小时,换了一个轮胎,终于继续前进了。

    别看我家离北京直线距离大概只有250公里,可是走一趟可真不容易。比如回去的时候,早上四点半起床,坐车到木樨园,七点左右从北京走,九点半左右到保定排队换车,十一点的时候才绕保定转了一圈出了城,下午一点半到了我们县城,进那个小破车站时,楞堵了20多分钟……然后又换一个到我家的车,大概四点半回去了,基本上是12个小时。从北京到上海也用不了这么久啊,奶奶的。

  • gDocsBar – 在Firefox侧栏管理Google Docs

    如果你日常生活、工作中大量使用Google Docs,一定要试一试这个刚刚发布的Firefox扩展——gDocsBar

    gDocsBar is a sidebar extension for firefox, a perfect companion for Google® Docs.

    With gDocsBar, you can drag and drop multiple files into the sidebar to upload documents.

    You can search, filter documents right from the sidebar.

    个人觉得打开Google docs的首页是非常慢的,除了网速的限制,大量的JavaScript也是一个问题。这个扩展真的很方便,也可以提高使用Google docs的效率。