我正在尝试使用html / javascript在本地浏览器中运行本地.exe文件。 .exe文件将生成asci文本,我编写了它以将文本封装在浏览器中。但我想让它在当前浏览器中加载.exe的新输出,替换现在的那些。
答案 0 :(得分:2)
我能想到两种解决方案。
在IE中 - 这是打开记事本的示例。 您将可执行文件放在那里,然后让它写入文件,然后读取文件。
<script>
function go() {
w = new ActiveXObject("WScript.Shell");
w.run('notepad.exe');
return true;
}
</script>
<form>
Run Notepad (Window with explorer only)
<input type="button" value="Go"
onClick="return go()">
</FORM>
以下是从文件中读取的示例
// define constants
// Note: if a file exists, using forWriting will set
// the contents of the file to zero before writing to
// it.
var forReading = 1, forWriting = 2, forAppending = 8;
// define array to store lines.
rline = new Array();
// Create the object
fs = new ActiveXObject("Scripting.FileSystemObject");
f = fs.GetFile("test.txt");
// Open the file
is = f.OpenAsTextStream( forReading, 0 );
// start and continue to read until we hit
// the end of the file.
var count = 0;
while( !is.AtEndOfStream ){
rline[count] = is.ReadLine();
count++;
}
// Close the stream
is.Close();
// Place the contents of the array into
// a variable.
var msg = "";
for(i = 0; i < rline.length; i++){
msg += rline[i] + "\n";
}
// Give the users something to talk about.
WScript.Echo( msg );
也许有一种方法可以从Javascript与Java Applet交谈,然后让Applet完成工作 - 它可能需要签名。
答案 1 :(得分:1)
简短的回答:如果不编写某种浏览器插件,就无法做到这一点。可能有一种更简单的方法可以做你想做的事。
答案 2 :(得分:1)
如果不是单独运行浏览器和应用程序,而不是运行包含webbrowser的应用程序,那么它会更容易吗?然后在它们之间进行交谈会更容易,因为您可以访问浏览器的内部工作方式。 ..只是一个想法。