360

2012最新JS判断是否360浏览器代码

360最近越来越流氓了,坚决反对使用360的任何产品,不解释。 自从3Q大战之后360浏览器的userAgent就变成IE的了,普通的判断方法也失效了,所以得换种方法。 在360的页面按F12,调出调试窗口,对navigator和window两个对象进行分析,终于找到一个可以用来鉴别360浏览器的值。 window.external.twGetRunPath()这个函数的返回值记录了360浏览器的安装目录,所以只要判断这个返回值即可,代码如下: if(window.external&&window.external.twGetRunPath&&window.external.twGetRunPath().toLowerCase().indexOf("360se&

  • Leo Chen
    Leo Chen
1 min read
JavaScript

两个汉字转换为拼音的JavaScript库的比较

JSPinyin用起来比那个pinyin.js的库要更好,感觉将中文翻译为拼音翻译的更准确。 JSPinyin有提供了两个方法: 1)一个是将汉字翻译为拼音,其中每一个字的首字母大写; pinyin.getFullChars(this.value); 2)一个是可以将每一个字的拼音的首字母提取出来,是大写的形式。 pinyin.getCamelChars(this.value); 还可以设置是否判断多音字。只是功能比较简单,如果需要其他相对复杂的功能只能自行在其中增加一些方法来处理。其中依赖于mootools这个JavaScript库,可以自行修改为prototype库或其他。 测试截图如下所示: pinyin.js提供的功能比较多,比如提供了多种字典,还可以转换为带声调的拼音,但是转换的准确度比较低,比如官网提供的那个测试链接里自带的那一句中文翻译的都不对。可能是字典有些问题。 转自http://my.

  • Leo Chen
    Leo Chen
1 min read
IME

在JavaScript中监听IME键盘输入事件

在最糟糕的情况下,用户使用输入法后浏览器就只触发一次 keydown ,之后就没有任何的键盘事件了。这对于 Suggestion 控件的实现来说是个大问题,因为 Suggestion 控件需要监听文本输入框的变化,而事件是最准确也最节省计算资源的做法,如果换成轮询的话性能就可能受到影响。 首先,要监听启用输入法后的击键事件应当使用 keydown 事件,这是信息最丰富的一个事件,因为在启用输入法后别的键盘事件可能不会被触发。其次,大多数操作系统和浏览器都实现了一个事实标准,就是在用户使用输入法输入时, keydown 事件传入的 keyCode 取值为 229 。然而触发 keydown 的频率是不确定的,有些情况下每一下击键都触发事件,有些情况下只有选词完毕才触发事件。这时候,如果我们还是要实时监控文本框的内容变化,

  • Leo Chen
    Leo Chen
2 min read
ie

JavaScript用13个字节判断IE浏览器

在中国,用户最多的浏览器当属Microsoft的Internet Explorer浏览器,虽然现在呈现下滑趋势。同其他浏览器开发厂商一样,微软在ECMA-262的基础上为JScript增加了很多特性,这些特性只有在IE下才有效。而我们为了保证这些特殊的代码只在IE下执行,就必须正确的判断出当前用户的浏览器是不是IE,本文就介绍了三种方法,最小的一个才13个字节。【原文标题】32 bytes, ehr … 9, to know if your browser is IE 【原文作者】Andrea Giammarchi 【译文出自】http://cuimingda.com/2009/01/how-to-know-if-your-browser-is-ie.

  • Leo Chen
    Leo Chen
2 min read