从Web浏览器打开文件系统文件夹/目录

我将我的桌面应用程序分发到闪存驱动上数以千计的Windows,Mac和Linux上的用户。 我有一个HTML起始页面,其中包含文档链接,安装指南,发行说明等,这些都在闪存驱动器上。 我希望用户直接从浏览器安装,但这正是反病毒程序试图防止的(正确的)。 而不是尝试启动安装程序,只需find安装程序并让用户自行完成最后一步即可。

是否有可能导致主机上的文件系统pipe理器(Explorer,Finder等)打开包含该文件的文件夹并将其突出显示? 我认为这将需要JavaScript,它可能会有所不同的Windows,Mac和Linux。 另外,在大多数浏览器(IE,FF,Chrome,Safari,Opera)中都可以工作。

这是否与解决费马大定理相似的难度?

谢谢

Solutions Collecting From Web of "从Web浏览器打开文件系统文件夹/目录"

只要页面从本地文件系统加载,这个JS代码应该适用于Windows上的IE和Firefox。 你需要在Linux / OSX上测试这个。 我不知道你将如何处理铬/狩猎/歌剧。

function execute(command, commandParam) { if (isIE()) { try { activexShell = new ActiveXObject("Shell.Application"); activexShell.ShellExecute(command, commandParam, "", "open", "1"); exit(); } catch (e) { alert("exception " + e.name + ': ' + e.message); } } else { try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); var FileFactory = new Components.Constructor("@mozilla.org/file/local;1","nsILocalFile","initWithPath"); var program = new FileFactory(command); var process = Components.classes["@mozilla.org/process/util;1"].createInstance(Components.interfaces. nsIProcess); process.init(program); process.run(false, commandArray, commandParam.split(" ").length - 1, {}); exit(); } catch (e) { alert("exception " + e.name + ': ' + e.message); } } } 

当然,您可能需要签署.js文件才能使其正常工作。 有关更多信息,请参阅: http : //www.mozilla.org/projects/security/components/signed-scripts.html

不。 浏览器(或大多数*)阻止这种行为。 他们之间的实际文件系统和Web服务你的内容之间有一堵墙。 只有HTML输入控件才能打破这个,而且它们也有相当多的保护。

* – 您可以使用IE ActiveX控件,但仅限于IE浏览器。