Javascript 实现打开本地文件或文件夹

Javascript 有个特殊的对象 ActiveXObject,通过它可以访问 windows 的本地文件系统和应用程序。

/**
 * 通过js打开本地文件目录
 * @param filename
 */
function openLocalFile(fileName) {
	try {
		var obj = new ActiveXObject("WScript.shell");
		if (obj) {
			obj.run("'" + fileName + "'");
			obj = null;
		}
	} catch(e) {
		alert('路径文件不存在/请在IE浏览器访问打开/组件未注册');
	}
}

// 调用函数
openLocalFile('file:///C:/demo.txt');

【注明】:在使用时应注意几个点

1、该方法只能在IE中使用;

2、若 new ActiveXObject("WScript.shell") 打印为空则表示 ActiveXObject 组件未注册;

3、程序运行时会运行控件,控件自动下载加载。特别注意在IE安全设置中允许运行Active控件;

4、控件在浏览器打开后第一次运行时,会弹出询问窗口,点击允许运行。