HTA脚本错误

时间:2011-12-19 17:59:22

标签: hta

我做了一个只链接到网站的HTA,一旦你在那里,你可以浏览几个不同的页面。它不是可以更改或访问计算机上任何内容的应用程序。

我的问题是当我尝试将一个框架或一个iframe放在一个带有外部网站的页面中时,脚本错误会不断出现。当我在Internet Explorer 9上查看这些相同的网页时,不会显示任何错误。

错误示例: http://i39.tinypic.com/keyfs4.gif

我知道HTA可以访问计算机上的文件,并且比在浏览器中查看的普通页面具有更高的权限和安全性。这是在HTA上出现脚本错误的原因吗?

有什么方法可以阻止这些错误的发生吗?

2 个答案:

答案 0 :(得分:0)

您的脚本有错误。你需要解决它们。

不同之处在于,带有脚本错误的Web浏览器不太可能显示所有脚本错误。通常的症状是您的脚本无法正常运行,但您没有得到任何关于原因的指示。

作为HTA,您的相同脚本错误将显示为对话框。这将告诉您脚本无法正常运行的原因。

作为个人规则,我通常更喜欢在HTA中首先编码,以便在将错误部署为HTML之前找到并修复错误。

采用以下代码示例。作为HTA,当您单击“测试”按钮时,它将正确显示“开始”,然后它将正确报告您的脚本有一个除零错误。作为HTML,在Internet Explorer中,测试按钮只显示“开始”,然后它会中止而不会给你任何指示。

<html>
  <head>
    <title>test</title>
    <script language="VBScript">
    Sub btnTest_onClick
      MsgBox "Begin"
      MsgBox 100 / 0
      MsgBox "End"
    End Sub
    </script>
  </head>
  <body>
  Click on this button: <input type="button" id="btnTest" value="Test"/>
  </body>
</html>

答案 1 :(得分:0)

@BicycleDude - 错误不在@ user990175的代码中,但在外部网站中,他正在加载到iframe中。所以他无法真正控制第三方代码中引发的错误。

@ user990175 - 你看到的问题是第三方代码使用htc的结果,我90%肯定不支持hta,或者无论如何都要特别考虑。无论哪种方式,您都应该能够通过错误提示本身或在工具&gt;下禁用错误通知。选项&gt;高级标签&gt;浏览部分&gt;显示每个脚本错误的通知。

这并不意味着该功能将神奇地起作用,它只是意味着您不会被提示使用讨厌的对话框。