Js备忘

●在IE中调用本地程序:
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的对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值