对搜狗云输入法的胡思乱想

今天偶然间发现了一个有意思的东西:搜狗云输入法。

 

使用

首先我们来看看如何安装和使用:

进入主页http://pinyin.sogou.com/cloud/ ,我们可以看到下面的介绍:

 

其实图中已经说得很明白了,如果你仔细看的话:)

但是我还是看了2分钟才明白是什么意思,所以我这里在简单重复一下步骤:

  1. 点击我用红圈标记起来的东西,存为书签。
  2. 在要输入中文的网页中点击书签,然后输入英文字母即可。

在实际的使用中,你将会看到这个界面:

效果还是不错的。

 

胡思

“云”现在是一个很火的概念,那么云输入法又是怎么一回事呢?

简单看了一下搜狗云输入法的基本工作流程,和大家分享一下,有不对的地方还请指出来。

我们首先看看如果启动它:在网页中点击书签。

这个书签有文章,它并不是一个简单的url地址,而是一段js代码:

javascript:void
((function(){var%20n=navigator.userAgent.toLowerCase();ie=n.indexOf('msie'
)!=-1?1:0;if
(document.documentMode)ie=0;charset=''
;if
(ie)charset=document.charset;src=ie&&charset=='utf-8'
?'http://web.pinyin.sogou.com/web_ime/init2_utf8.php'
:'http://web.pinyin.sogou.com/web_ime/init2.php'
;element=document.createElement('script'
);element.setAttribute('src'
,src);document.body.appendChild(element);})())

代码的基本意思是,判断一下用户的浏览器类型,然后加载一段php代码到我们的页面中(createElement)。

这个时候,我们就看到了搜狗云输入法的界面了。

然后,我们在网页中输入拼音。

打开FireFox上面的一个监听http请求的插件httpfox,可以发现看到这个结果:

可以看出来,他首先加载了一段php脚本,然后用Ajax的形式来交互:将用户的输入发送到Server端去,然后接收应答,将结果显示给我们的用户。

然后我看了一下相应的内容(http://web.pinyin.sogou.com/web_ime/get_ajax/nihao.key )

里面的其实是一个段针对于nihao这个输入的URL编码相应。但是我通过URL解码后,得到的是乱码,所以推测这里有一点点的加密算法在里面。毕竟php脚本已经被混淆了。

 

乱想

使用下来,发现相应速度还是非常快的。要做到这一点,我觉得应该是使用了大量的Memcache。

但是我并没有发现他是不是能够根据用户的Cookie来记录不同用户的个性词库。也许这是未来的一个发展方向。

 

 

有兴趣的同学一定要尝试一下,体验还是非常棒的。

你可能感兴趣的:(JavaScript,PHP,url,输入法,firefox,搜狗)