由于安全问题,Chrome / Firefox不使用Activex对象,甚至不允许使用本地配置文件(例如 AppData \ Roaming )进行访问。但是在我的一个客户端请求中,我需要创建一个 .txt 文件,然后从上述目录中启动 .exe 。 2014年之前的Chrome支持NPAPI实际上与客户端相关,但在2014年他们也停止支持NPAPI,它也标记为Chrome上的Phased。因此,我需要创建文本文件所需的最新技术,然后从漫游文件夹启动exe文件。
是否有任何选项或客户端API执行此操作?
更新
我已经在ActiveXObject(旧方法)中关注片段,现在我想将其翻译成最新技术,以便非IE浏览器也可以使用它。
function createLoginFile(){
var isIE = /*@cc_on!@*/false || !!document.documentMode;
if(isIE == true)
{ var wsShell = new ActiveXObject("wscript.shell");
var roamingAppData = wsShell.ExpandEnvironmentStrings("%appdata%");
var fileObj = new ActiveXObject("Scripting.FileSystemObject");
var folderObj = new ActiveXObject("Scripting.FileSystemObject");
var folderLoc = roamingAppData+"\\Navigator";
var fileLoc = folderLoc + "\\NavigatorLogin.txt";
if(fileObj.FileExists(fileLoc)){
//empty file
var emptyFile = fileObj.OpenTextFile(fileLoc, 2, false);
emptyFile.close();
//write to file
var openFile = fileObj.OpenTextFile(fileLoc, 2, false);
openFile.WriteLine("Hello World!");
openFile.close();
loadExe(folderLoc)
}
else{
var newfile = fileObj.CreateTextFile(fileLoc,false);
//write to file
newfile.WriteLine("Hello World");
openFile.close();
loadExe(folderLoc)
}
}
}
function loadExe(folderLoc){
var oShell = new ActiveXObject("Shell.Application");
var filePath = folderLoc+"\\Navigator.exe";
oShell.ShellExecute(filePath,"","","open","1");
}
答案 0 :(得分:0)
构建自定义链接,例如
?腾讯://消息/ *****&安培; websiteName = qzone.qq.com&安培;菜单=是
点击链接后,将启动QQ客户端