Category: 小小草

IT 技术领域学海无涯。其实任何领域都学海无涯,无非 IT 发展太快了,让我有更多嘘唏。希望我掌握的技术有如小小草,虽然渺小,却有旺盛的生命力。

  • Why Google Analytics Tracking Code Was Not Included In Source Code?

    这个博客从一开始就装了Google Analytics for WordPress,但我在前台页面的源代码里总看不到tracking code,我为解决这个问题陆陆续续花了不少时间找原因,把plugin反复deactivate and activate,甚至卸载plugin再重装、切换theme,都没见source code 包含任何analytics的字眼。

    我在wordpress.org寻求前人的经验,也有人说Google Analytics for WordPress这个plugin无法工作。他最后是放弃了Google Analytics for WordPress,还推荐了另一个google analytics plugin叫sem google analytics。但是我见Google Analytics for WordPress功能远比sem google analytics强大,不舍得放弃。

    试装sem google analytics后,我查看了前台页面的源代码,代码里有一行注释,说sem google analytics不追踪admin登录状态。一语惊醒梦中人!同理,我的Google Analytics for WordPress一直就是正常工作着的,只是我一直在admin登录状态去查看源代码,也就无法看到tracking code,但Google Analytics for WordPress一直没给任何提示说明这一点,导致我瞎折腾,这是Google Analytics for WordPress做得不够好的地方。

    花了很多时间,总算搞明白一个粗显的道理:Google Analytics for WordPress不追踪admin登录状态

  • .png在IE5.5和IE6中的透明背景问题

    IE5.5和IE6中,不能正确处理.png图片的透明背景,该透明的地方变成了灰色。微软有篇文章PNG Files Do Not Show Transparency in Internet Explorer,介绍用IE才能识别的滤镜效果对付这个IE bug。

    如果想更多地了解.png问题,我推荐The PNG problem in Windows Internet Explorer。我从中了解到了.png和.gif尽管都可以做出透明背景,两者的区别是.png可以多色透明,.gif只能单色透明。

  • Outlook Express不能正常发信

    同事的一台计算机发送带附件的邮件时,进行到100%以后,会出现一个错误,对话框中没有错误号,也没有错误描述,但确实有错误,那邮件滞留在outbox里,不肯移到sent items(但邮件能发送出去,对方能收到)。
    对这种莫名其妙的错误,我通常不会去找原因(windows的老年病,也不太可能找到原因),也不会去医治它(太费时间)。既然outlook express发不了邮件,换个软件发不就可以了?各种邮件软件都用一遍,如果全染病了,那只有整个windows重装一下。

    可是,我们另外有个contact management system叫Act,虽然act工作起来错误百出,但新系统还没调试完成,Act还得继续工作,而Act非得跟outlook express才能一起工作,这样就逼得我只有医好outlook express不能发送带附件邮件的毛病(如果不想重装windows的话)。

    因为实在不知道毛病在哪里,我只好乱试一通:

    1. delete outbox.dbx,outlook express启动时会自动重建一个outbox.dbx – 毛病依旧;
    2. 移动outlook express的存储目录到新地方,让outlook express重建所有.dbx文件,然后再导入所有收件箱和已发送邮件 – 毛病依旧;
    3. 创建一个全新的windows user account,把邮件从老帐号导入到新帐号 – 毛病依旧;
    4. 在注册表里更改MTU的dword(这是microsoft support库中一篇文章教的方法) – 毛病依旧;
    5. disable firewall – 毛病依旧。那台机子用的是norton internet security,norton给我的感觉是经常自做主张更改设置,比如,如果网页里含有norton认为是电话号码的地方,norton会在那里插一面国旗和一个电话的小图标;如果网页里有javascript function name里含有ad,如adjust() {},norton会删掉所有javascript代码,而且不给任何提示。因为我对norton印象不佳,所以这次不能怪我滥杀无辜。
    6. system restore to a previous date when outlook express was working properly – 毛病依旧;
    7. uninstall outlook express, then reinstall outlook express – Wow! Finally I solved the problem!

    谢天谢地,如果刚才最后一招不灵,第8招只有重装windows了。

  • wordpress title不见了

    昨天在公司的blog上做搜索引擎优化,做到后来既然把blog homepage的title弄没了,一时没找到原因。

    今天在这个自己的blog上只想要添加一个analytics,我用的是google analytics for wordpress plugin 2.0,当我把track帐号输入以后,发现title又一次消失了。title的消失是不是由这个plugin引起的?这有待进一步试验。可现在头痛的问题是:无论我删除了track account,还是deactivate plugin,title还是不回来。难道我错怪google analytics for wordpress plugin?

  • wordpress在不同域名间的迁移

    忙乎了一天终于把这个blog从另外一个域名、另外一个服务器迁移过来了。迁移的过程是比较痛苦的,因为我一开始把迁移想得太简单了。这怪我想当然,前几天wordpress版本升级给我的印象太方便了,只要把文件一股脑上传就可以,因此我以为迁移也只要把文件一股脑拷贝、数据一股脑导出再导入就可以啦。

    我一股脑做好迁移以后,敲入新网址,满怀信心期待出现的页面没出现,确切地说是一片空白(我原以为最糟的情况也就是出现带有一些broken links的页面再作调整)。费了好久才查出是memory_limit值太低,这时我已经把wordpress那几个table的数据 delete/import了好几个来回了。

    虽然这次迁移费了点时间,但总算有了经验:不要相信那些所谓wordpress data migration插件,甚至连wordpress内置的export/import也不好用(export/import仅适用于给数据做备份和恢复)。wordpress(2.3.1版)内置的export/import至少有以下缺点:

    1. 不能自动转换域名
    2. 不能自动转换document root
    3. 不能导入option
    4. import采用web upload,自然文件大小受到upload_max_filesize限制。
    5. import后个别category出现了两次(原因不明)
    6. manage uploads丢失了thumbnails的链接

    我认为最好的办法是,把原数据库里的数据导出成sql格式,用文本编辑器在这个sql文件里做两次查找和替换,新老域名和新旧document root各做一次(文本格式就是好啊,给人一种看得见摸得着的感觉,踏实)。然后在新数据库导入这个sql文件就可以。只要网站的directory structure保持不变,我相信这就是wordpress blog迁移要做的全部工作。

  • 发现一个wordpress不够体贴的地方

    熟悉以后才知道它/他/她的缺点,这就是为什么离婚总是发生在结婚后。

    我在了解wordpress的过程遇到这么点小麻烦:custom permalink structure为/%post_id%/%postname%/(其实seo并非非得这么设置,但这个设置是我们价值£750每月的引擎优化专家推荐的,姑且采用)。

    我事先知道这个blog所在的服务器目前没加载mod_rewrite,因为这不是我的独立服务器,所以我并不能想加载什么模块就可以加载的。但我暂时不想为了贪图mod_rewrite就把blog转移到另一个服务器,至少在这个blog正式上市之前不想。保持一个主服务器在美国,一个大副服务器在德国,以后再弄一个二副服务器在英国当地,或者把大副二副换一换,这是我理想中的格局,不把鸡蛋放一个篮子里嘛。

    但我有个毛病,明知不可为而为之,就是想看看什么后果。结果我知道了:后果很严重。一旦修改了permalink,wordpress就自动生成一个.htaccess,不管服务器是否支持,也不管blog是否真的需要这个.htaccess。由于服务器没有加载mod_rewrite,所以发生500 server error。于是我删掉了.htaccess,然后在后台想把permalink改回Default,wordpress不够体贴的地方就暴露出来了:只要一提交permalink的值,不管这个新值是什么,wordpress就自动生成.htaccess,这样我的服务器马上就500,php肯定就中止执行了,数据库就无法更新了。这个鸡先生蛋、还是蛋先生鸡的问题,我最后是直接操纵数据库才解决的(wordpress的数据库结构还是挺清晰的,我没看什么资料,凭着直觉找到wp_options table,再找到permalink_structure,删掉option_value就可以了)。

    说了一个wordpress的缺点,作为补偿,我再说一个我感觉到的体贴,总是在细致之处。当初安装wordpress,ftp原码以后,installation要求把wp-config-smaple.php改名为wp-config.php,虽然改名不算麻烦,我还嘀咕它为什么不直接替我做了这件事。最近一次升级才让我理解它的良苦用心——升级时只要一股脑ftp所有文件,不用担心设置文件的备份恢复等等。我以前一直都不太愿意升级,就是怕备份恢复这些琐事,所以wordpress新版本出了很久了,可能新版本的新版本都已经出了n多个了,我才折腾了一下。有了这次无痛升级的过程,我以后一定会升级得很勤快的。

    题外话:wordpress的permalink基于url rewrite,要求服务器服务器是apache+mod_rewrite,适用性小。要是谁能开发一个plugin,基于404错误捕获做permalink,一定会在广大小空间业主群里有市场。不过我不会想着去做这件事,从基于url rewrite到基于404,技术上是种倒退。要向前看,不是向钱看。

  • 流式布局

    自从读了Jakob Nielsen的«Homepage Usability»一书以后,我特别fancy fluid layout,这成了我做任何网站一定要达到的目标之一。经过一段时间的研究,我对fluid layout也算小有所成,最有心得的部分就是不借助table,不依赖javascript,在有不定宽度的图片情况下,做图文混排的fluid layout。

    我也很在于其他层面的usability,因此每遇到user friendly的东西,我总要赞叹一番。新版本的wordpress,堪称website usability的典范,但它的default theme竟然没有采用fluid layout,不禁让我唏嘘。于是我准备发挥一下我的专长,同时也为open source贡献一份绵薄之力,就改掉它的fixed layout。

    我花了点时间看了一下style.css,大致知道要怎么去改进它啦。现在大家看到的页面只是我搞了测试以后的中间产品,四个角都没对齐,莫怪。剩下的事情就是要裁减背景图片,做个拉门,然后就差不多了。但我有个毛病:难题在一团乱麻的状态我的战斗力很强,有了头绪以后反而懒得去落实了。 这个差不多了的style.css何时能变成最终成品,我也不知道。

    要不,你来donate我一下?

  • 求高手

    look for coworker or partner

    我个人的力量非常有限,但心有很大。

    有人和我有同样想法吗?随便发个帖子在这里,如果凑巧有高手路过并愿意回个帖,那我会非常非常兴奋的。谢谢!