原来IE还能这样禁止输入中文

今天遇到个诡异bug,设计丢过来的皮肤测试下来无法在文本框中输入中文,输入法调不出来。
本来以为是设置了ime-mode,结果搜了半天没找到。
调试了半天原来设计那边误加了这样一段代码

input{
bblr:expression(this.onFocus=this.blur());
}

本来这句应该是用在链接 a 标签上的,用于去除虚线框,他是让链接元素一获得焦点,立即触发失去焦点的事件。结果在IE中就导致了在input中无法激活输入法了,因为系统认为你根本没有在输入框中嘛~
调试的很辛苦,不过这个发现很有趣。算是一个IE-Only的小hack吧,而且超好用。仅在ietester中测试过ie6和系统自带的ie8,其他的大家试着玩吧。
另外,我不反对使用css表达式,为了实现功能,用用也无妨,毕竟用户电脑卡死的几率较小,而功能不实现的话100%就是失败了。不兼容其他浏览器,那是另一回事了。比如网银,比如公司内部系统什么的,还是很有现实意义的小技巧

这是个工具

先前看TED视频,关于 学校教育扼杀创造性的视频。
视频很好,也有中文字幕等。下面也提供高清版本下载,很是欣喜。
遗憾的是,字幕不提供下载。(或者说我没有找到)

俗话说,自己动手丰衣足食。直接拿Firebug找到字幕文件地址,下载下来看到是JSON格式的,随即想到直接用JS输出字符串就可以转换到srt字幕。
代码如下,非常简单的代码,实用就好,不求效率、安全和边界问题,只求最快解决我的问题~

不得不说,学一门编程语言很有意义,不论是什么,都能很方便解决一些实际的问题。这很开心。
JS仔细说来是一门很强大的语言,处理JSON和XML都很方便,大多数时候应付足够了。不过也会有力不从心的时候,尤其是对于系统的操作,总有很多缺陷。不过如果算上微软的JScript的话,也很可以了。曾经想学Python,现在也坦然了,随便用什么,喜欢就好。或许,这与我不再从事IT相关行业有关吧。够用就行咯~


//读取chi_hans文件
$.getJSON(“chi_hans”,function(json) {
var c=json.captions,o=[];
for (var i=0,l=c.length; i
+timeline(c[i].startTime+c[i].duration+18500));
o.push(c[i].content);
o.push(“”);
//if (i==5) break;
}
//这里我输出到一个textarea
$(“#output”).text(o.join(“\r”));
});
//这是根据JSON里时间得到srt字幕里的时间
function timeline(time) {
t=new Date(time);
return [
leadZero(t.getUTCHours()),
leadZero(t.getUTCMinutes()),
leadZero(t.getUTCSeconds())
].join(“:”)+”,”+leadZero3(t.getUTCMilliseconds());
}
//加入前导零
function leadZero(s) {
if (s<10) { return "0"+s; }else { return s; } } //这也是前导零,三位数的 function leadZero3(s) { var ret; if (s<10) { ret="00"+s; }else if (s<100) { ret= "0"+s; }else { ret=s; } return ret; }