0

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

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

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

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

有什么办法可以阻止这些错误的出现吗?

4

2 回答 2

0

您的脚本有错误。你需要修复它们。

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

作为 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>
于 2012-01-26T10:57:55.823 回答
0

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

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

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

于 2012-06-21T04:09:39.930 回答