【问题标题】:html or javascript, how to find out where is the program files folder?html或javascript,如何找出程序文件文件夹在哪里?
【发布时间】:2012-05-26 09:32:06
【问题描述】:

我有一些 HTML 文件,我想在用户本地机器上运行(离线)。 有什么方法可以找出程序文件夹位于哪个硬盘

注意:您知道哪些方法不会引发安全问题。

【问题讨论】:

  • Windows 有一个%PROGRAMFILES% 变量。不要认为 JavaScript 可以访问用户的环境变量。你想在这里做什么?
  • 不,不是通过符合标准的 Javascript。
  • 我想引用用户程序文件夹中的一个文件,我不知道它在哪个硬盘驱动器中。我应该说html文件保存在用户硬盘中。
  • 听起来你需要重新考虑你的方法。有多种方法可以推送/拉取数据,但唯一可预测的方法是访问您无法从沙箱访问的环境变量。 IE专门锁定了本地机器区域以防止任意访问文件系统,您需要做MOTW来避免这种情况,从而在其他方面更多地限制自己。仍然无法理解您在这里实际要完成的工作。
  • 用你想要实现的细节更新你的问题 - 需要访问程序文件夹是非常不寻常的(在 Mac、Linux 或移动设备上不起作用) - 它是 HTML应用程序.hta?

标签: javascript html directory


【解决方案1】:

我不在 Windows 上,但您似乎可以尝试以下方法:

var WshShell = new ActiveXObject('WScript.Shell');
Response.write("ProgramFiles envioronment variable is set to:\n\n" + 
               WshShell.ExpandEnvironmentStrings('%ProgramFiles%'));

程序文件位于环境变量中,这就是您要查找的内容。

问候,

PS:这会导致您收到一些安全警告。实际上,这并不安全。

【讨论】:

  • 确保他从 HTA 执行此操作,否则它将受到 IE 的本地计算机锁定策略的影响:en.wikipedia.org/wiki/HTML_Application
  • 实际上,我会鼓励他开发一个.Net应用程序或HTA,而不仅仅是离线页面的集合,因为这里授予的访问权限非常重要。
【解决方案2】:

我觉得这个问题很困惑。并非每台计算机都有“程序文件”目录,甚至没有驱动器的概念,因为并非每台计算机都是 Windows。

最重要的是,HTML5 离线模式just requires a manifest file to be hosted by your web server。浏览器会将缓存的数据放在合适的位置。

如果您谈论的是非托管页面的一些内部部署并想直接生成 IE,我认为这是个坏主意,但请使用 %ProgramFiles% 环境变量。

【讨论】:

    【解决方案3】:

    基本上没有跨浏览器的方式来做到这一点。如果您可以使用仅 Internet Explorer 的解决方案,请尝试查看名为 FileSystemObject 的 ActiveX 组件及其 GetSpecialFolder 方法 - http://msdn.microsoft.com/en-us/library/aa265315%28v=vs.60%29.aspx

    【讨论】:

      【解决方案4】:

      HTML5 中有一个file system api - 看看draft documentation

      如果您是第一次调用 requestFileSystem()会为您的应用创建新的存储空间。重要的是要记住这个文件系统是沙盒的,这意味着一个 Web 应用程序无法访问另一个应用程序的文件。这也意味着您无法将文件读/写到用户硬盘上的任意文件夹(例如我的图片、我的文档等)。

      因此,如果您正在考虑一个能够浏览用户程序文件夹的网页,那么答案是否定的,您需要某种应用引擎 - 例如。 Adobe Air 或 Windows8 Metro 应用程序。

      【讨论】:

      • ... 这几乎意味着您找不到 Program Files 文件夹。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-26
      • 2022-12-16
      • 2014-03-04
      • 2017-05-28
      • 1970-01-01
      • 1970-01-01
      • 2019-09-05
      相关资源
      最近更新 更多