我做了一个HTA,只是链接到一个网站,一旦你在那里,你可以通过几个不同的页面导航。它不是一个可以更改或访问计算机上任何内容的应用程序。
我的问题是,当我试图将一个框架或iframe放在一个包含外部网站的页面中时,脚本错误一直在弹出。当我在Internet Explorer9上查看这些相同的网页时,没有显示任何错误。
错误示例:http://i39.tinypic.com/keyfs4.gif
我知道HTA可以访问计算机上的文件,并且比在浏览器中查看的普通页面具有更高的权限和安全性。这是在HTA上出现脚本错误的原因吗?
有什么方法可以阻止这些错误出现吗?
发布于 2012-01-26 18:57:56
您的脚本有错误。你需要修复它们。
不同之处在于,存在脚本错误的Web浏览器不太可能显示所有脚本错误。通常的症状是您的脚本不能正确运行,但是您没有得到任何关于原因的提示。
作为HTA,您的相同脚本错误将显示为一个对话框。这将告诉你为什么你的脚本不能正确运行。
作为个人规则,我通常更喜欢先在HTA中编写代码,这样我就可以在将错误部署为HTML之前定位和修复错误。
请看下面的代码示例。作为一个HTA,当你点击测试按钮时,它会正确地显示"Begin“,然后它会正确地报告你的脚本有一个被零错误分割的错误。作为HTML,在Internet Explorer中,测试按钮将只显示"Begin“,然后它将中止,而不会给您任何指示原因。
<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-06-21 12:09:40
@BicycleDude -错误不在@user990175的代码中,而是在他加载到iframe的外部网站中。所以他不能真正控制在第三方代码中抛出的错误。
@user990175 -您看到的问题是使用htc的第三方代码的结果,我90%确定hta不支持htc,或者有特殊考虑。无论采用哪种方式,您都应该能够通过错误提示本身或在工具>选项>高级选项卡>浏览部分>显示有关每个脚本错误的通知下禁用错误通知。
这并不意味着该功能将会神奇地工作,它只是意味着你不会得到讨厌的对话框的提示。
https://stackoverflow.com/questions/8565403
复制相似问题