`
zxlaiye
  • 浏览: 94676 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Js备忘

    博客分类:
  • web
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的对象
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics