分类:'就通一点' 的所有文章

把Outlook联系人导出到Google联系人

这两天在玩Google Phone,G1的机型,G2的系统,总体上用起来还不错,视频文件列表第一次打开比较慢

由于原来一直用Windows Mobile的,联系人都同步到Outlook,所以也没想到要导出来
现在暂用Phone了,又不想麻烦的一条条加联系人,就去搜了一下导出Outlook联系人的文章

结果发现有两种方式可以做到:
1. Windows Mobile手机跟m.google.com同步
 具体步骤参见笑来的blog:Windows Mobile手机与Google日历如何同步?

2. 直接Outlook Contacts导出到dos格式的csv,然后到http://google.com/contacts/上面去导入
 但是我在导出的时候遇到了问题 - 导出出来的中文是乱码

试了几次发现时Outlook Contacts导出到csv时的问题,可以这样绕过去:
 先导出到excel,然后从excel里面“另存为”csv格式就行了

Google搜索结果里的链接打开有点儿慢?用YesScript扩展吧

Google搜索结果里面的每个链接看上去都是直接链接到网站
原来我就怀疑:这样的话Google怎么统计用户点击数据呢?

后来有个事情促使我去探索到底是什么原因:
在家里用Google太慢了,而且因为GFW的原因,有时候会挂,一挂了以后短时间内哪个Google结果链接都打不开

实际上,每个搜索的结构链接<a>里面都有一段脚本:

<a onmousedown=
"return rwt(this,'',”,’res’,'5′,’AFQjCNG1aS0e_ZXWJweG5uZk8bMmDIov3g’,'&amp;sig2=ZybsjNXV2WabD4U0uu8XDA’)" />

当你点击链接的时候,这段脚本就会更新这个链接

你可以在Firefox下试试搜索Test
然后:
1. 把鼠标移动到一个链接上,看看Firefox左下角的状态栏,里面的链接是啥
2. 然后按住鼠标左键(注意是“按住”,先不要松开),再看看状态栏的连接

知道这个,解决起来就简单了 - 给Firefox安装NoScript或者YesScript扩展就行了
NoScript默认不允许Javascript、然后用白名单来控制。YesScript默认允许、然后用黑名单控制。

我喜欢第二个,因为阮一峰的blog“关于网页设计的一些统计数字”里面说到:84.8%的网页使用Javascript
而且,发芽网本身就离不开Javascript,我更不喜欢用NoScript啦

于是安装了YesScript,然后Google搜索以后在打开右下角BlackListed图标点一下,以后Google搜索打开就不会经过Google服务器绕一次啦。

游戏发芽网在线聊天 - XSS攻击 与 javascript标题栏闪烁

游戏发芽网的聊天功能用的人相对较少,但是我至少看到了10次以上有价值的讨论
当时怕聊天窗口太复杂,实现都用的很简单的方法,但是最近发现了两个问题。

第一个是:最近发现有位同学在玩华容道峰回路转搞不定的情况下,伪造了系统消息

>> 搞定 峰回路转 用了1步

呵呵这个本身并没有什么,开个玩笑,无伤大雅
而且聊天记录刷新很快,一个小时以后这条记录就会消失

但是,这解释了一个很严重的问题,那就是著名的XSS攻击

具体的说,在用ajax的方式收到消息以后,我用直接追加html的方式进行添加,没有进行escape。

严重的后果可能是用户密码丢失、页面混乱等等等等

关于详细的XSS攻击参见:
1. Google搜索跨站脚本攻击, 2. 也谈跨站脚本攻击与防御, 3. 詳解XSS攻擊

最常用的方法就是escapeHTML,不过这个常用的函数javascript居然没有自带,那就写一个吧:

JavaScript语言: Javascript string escapeHTML
//一个应该常用的javascript string函数,不知为何没有直接提供
String.prototype.escapeHTML = function () {                                       
  return this.replace(/&/g,'&amp;').replace(/>/g,'&gt;').replace(/</g,'&lt;').replace(/"/g,'&quot;');
};


第二个问题:聊天窗口不在最前的时候,来消息用户就看不见了
搜了一下,简单的解决方案就是标题栏闪烁
一开始想的方法是:当窗口blur的时候设置一个标记,focus的恢复标记,当收到消息又有标记的时候闪烁
但是没找到合适的方法
继续搜,发现StackOverfow有一篇文章专门说这个
使用的方法独辟蹊径:不管窗口有没有在最前,来消息都闪烁标题栏
不过当鼠标在窗口中移动的时候就停止闪烁,这样如果窗口在最前,闪烁就很快消失,否则只有切换过来才停止

呵呵,真是条条大路通罗马。

不过StackOverflow上面那份代码有问题:当有多个消息的时候,即便鼠标移动也不行了,因为创建了多个inteval。
我改进了一下,贴在下面:

JavaScript语言: Javascript - 后台窗口来消息时标题栏闪烁
//from: http://stackoverflow.com/questions/37122/make-browser-window-blink-in-task-bar
/*
this won't make the taskbar button flash in changing colours, but the title will blink on and off until they move the mouse. This should work cross platform, and even if they just have it in a different tab.
*/
function clear_blink(oldTitle) {
  clearInterval(g_timeout_id);
  g_timeout_id = null;
  document.title = oldTitle;
  document.onmousemove = null;
  document.onkeydown = null;
}
function blink_info(msg) {
  var oldTitle = document.title;
  if (typeof(g_timeout_id) != "undefined" && g_timeout_id) {
    clearInterval(g_timeout_id);
  }
  g_timeout_id = setInterval(function() {
      document.title = document.title == msg ? ' ' : msg;
    }, 500);
  document.onmousemove = function() { clear_blink(oldTitle); };
  document.onkeydown = function() { clear_blink(oldTitle); };
}

PS:心里惴惴,感觉还没有搞定的样子…
PS2: StackOverfow上面有很多好文章,以后有空转几篇

Google英文搜索

Google的中文搜索在搜索一些软件及一些技术问题的时候,结果和英文搜索差别太大了

比如这个:

Launch - Google中文搜索: 第一页都没有Launchy主页的链接,都是下载站的链接。

更加不爽的是:国内的下载站,即便是天空下载站这样的站点,软件描述里面都没有软件主页链接!

这在国外软件下载网站里面是不可能的。

Launch - Google英文搜索:第一个链接就是Launchy主页的链接

很多这样的例子,使我不得不把Google英文搜索收藏下来:

http://www.google.com/webhp

(不知道为什么搜索选项里面没有的选,Firefox上的搜索框搜出来的还是中文的)

定位鼠标

用笔记本经常为鼠标在哪里烦恼,特别有些隐藏鼠标的程序,要晃一晃才能找得到

今天才知道windows已经提供这个功能了,在“控制面板”中,打开“鼠标”选项,在“指针”选项卡里面最下边,选上“按Ctrl键时显示鼠标位置”即可。

然后按Ctrl键看看效果吧。一圈圈的涟漪,中心点就是鼠标的当前位置。

XP和vista 下都可以的。

下一页 »