●在IE中调用本地程序:
●在IE中打开某个软件,并执行键盘操作(有点好玩的说~~)
●字符串格式化
●js画图,居然支持ie6,很牛叉叉
http://raphaeljs.com
●js图表,支持ie6
http://www.highcharts.com/demo/dynamic-update
●数组浅拷贝
●判断对象是否为数组
var wsh = new ActiveXObject("wscript.shell");
var path = '"...."'; //注意里面的双引号,解决路径中的空格
wsh.run(path);
●在IE中打开某个软件,并执行键盘操作(有点好玩的说~~)
/**
* @param appPath 软件的执行路径
* @param winTitle 软件运行后的窗口标题
* @param kyes 要执行的按键
*/
function runApp(appPath, winTitle, keys){
var sh = new ActiveXObject("wscript.shell"); //创建shell对象
try{
sh.run('"' + appPath + '"'); //运行应用软件
}
catch(e){
alert('系统找不到文件:' + appPath);
return;
}
var testCount = 1;
var interval = setInterval(function(){
if (sh.AppActivate(winTitle)){ //激活应用软件的窗口
sh.sendKeys(keys); //执行键盘按键
clearInterval(interval);
}
if (testCount++ >= 100){
alert('无法获取标题为' + winTitle + '的窗口');
clearInterval(interval);
}
}, 10);
}
//调用例子(打开记事本,输入hello^_^):
runApp('nodepad.exe','无标题 - 记事本','hello {^}_{^}');
//关于sendKeys中的键盘码参看:http://ss64.com/vb/sendkeys.html
//简单的说明:^(Ctrl),%(Alt),+(Shift),{tab}(tab键),{enter}(回车)
●字符串格式化
String.prototype.format = function() {
var args = arguments;
return this.replace(/\$\{(\d+)\}/g, function(m, i){ return args[i];});
}
●js画图,居然支持ie6,很牛叉叉
http://raphaeljs.com
●js图表,支持ie6
http://www.highcharts.com/demo/dynamic-update
●数组浅拷贝
var newArray = anArray.slice(0); //好简单。。。
●判断对象是否为数组
Object.prototype.toString.apply(obj) === '[object Array]';
//用obj instanceof Array不行,无法准确本页面以外的别的frame的对象