如何创建直接链接以执行 .hta 文件

How do I make a direct link to execute an .hta file?

本文关键字:链接 执行 hta 文件 何创建 创建      更新时间:2023-09-26

我在映射驱动器上有一个 .hta 文件,我可以手动导航到该文件,双击 .hta 文件,它执行正常。 但是,我添加了一个指向共享上的完整路径的链接(从IE 8页面),当我尝试从链接运行它时,如下所示:

Q:''path...''.hta

然后我收到一个 javascript 错误,运行脚本时发生错误"长度为空或不是对象"。 javascript 代码来自 .hta 文件本身,位于这一行:

...
for (var i = 0; i < matches.length; i++) { 
...

我猜由于某种原因,当 .hta 从链接上运行时,"i"没有初始化,而不是手动初始化。

无论如何,当我尝试直接从链接转到文件时,我确实会收到一个对话框,询问我是否要运行、保存或取消 .hta 文件。 当我尝试运行它时,我收到javascript错误。

所以我的问题是:

  1. 如何从浏览器链接运行此 .hta 文件?
  2. 为什么从链接运行时会出现 JavaScript 错误,而不是手动运行时出现 JavaScript 错误?

HTA 无法识别映射的驱动器。

我假设您将应用程序保存在服务器上,然后在工作站上运行它,在那里您将此映射的驱动程序Q作为服务器的快捷方式。

服务器的正确路径是这样的:

//Your_Server_Name/path_in_server/file.hta

也可以使用实际 IP 代替Your_Server_Name

若要在没有提示的情况下在浏览器(仅限 IE)中运行 HTA,需要将"Intranet 区域安全性"和"高级"选项卡中的许多设置更改为非常不安全的模式。

关于错误消息:

似乎,matches没有一个名为 length 的属性。如果定义了matches,则它可能是一个数字或布尔值,或者一些其他类型的对象,它没有length属性。

如果消息是这样的:Can't get the property length: object is null or not defined .这意味着,matches是未定义的。

请注意,HTA是一个独立的应用程序,具有自己的top.window,并且它不能与浏览器窗互。(如果打开器是浏览器窗口,则无法在HTA中引用opener