我做了一个只链接到网站的HTA,一旦你在那里,你可以浏览几个不同的页面。它不是可以更改或访问计算机上任何内容的应用程序。
我的问题是当我尝试将一个框架或一个iframe放在一个带有外部网站的页面中时,脚本错误会不断出现。当我在Internet Explorer 9上查看这些相同的网页时,不会显示任何错误。
错误示例: http://i39.tinypic.com/keyfs4.gif
我知道HTA可以访问计算机上的文件,并且比在浏览器中查看的普通页面具有更高的权限和安全性。这是在HTA上出现脚本错误的原因吗?
有什么方法可以阻止这些错误的发生吗?
答案 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;显示每个脚本错误的通知。
这并不意味着该功能将神奇地起作用,它只是意味着您不会被提示使用讨厌的对话框。