你如何抑制HTA中的脚本错误?

时间:2010-08-19 04:38:31

标签: vbscript error-handling javascript hta

我有一个HTA,可以在嵌套的IFRAME中加载外部网页。此网页(我无法控制)在我的HTA中抛出“拒绝访问”错误,询问用户是否“想继续在此页面上运行脚本”。我想要做的是让我的HTA抑制所有脚本错误消息,无论它们来自何处

以下是我的设置如何工作的基本概念:

<html>
<head><HTA:APPLICATION ... ... </head>
<body>
   ...
   <div id="navigation">...</div>
   <div id="browsers">
      <iframe APPLICATION="yes" src="http://myserver/browse.php?src=http://www.example.com/">
         <!-- contents of http://myserver/browse.php?src=http://www.example.com/ -->
         <html>...
         <body>
            <div id="titlebar">...</div>
            <iframe APPLICATION="no" src="http://www.example.com/">
               <!-- contents of http://www.example.com/ with js that causes error -->
            </iframe>
         </body>
         </html>
      </iframe>
      <iframe APPICATION="yes" src="http://myserver/browse.php?src=somethingelese"></iframe>
</div>
</body>
</html>

这是错误的屏幕截图: alt text

2 个答案:

答案 0 :(得分:0)

据我所知,没有办法压制这样的错误。如果您有权访问他们的注册表或组策略,那么相关的注册表值(自然为IE)会禁用该弹出窗口:

密钥:HKEY_CURRENT_USER \ Software \ Microsoft \ Internet Explorer \ Main

名称:禁用脚本调试程序

输入:REG_SZ

价值:否

答案 1 :(得分:0)

一个有意的GetWindowText() - &gt; SendMessage基于WM_CLOSE的对话框更接近可以解决这个问题,但并不是完全禁用

我一直在寻找好几天并且没有找到可靠的解决方案 - 也许HTA毕竟没有提供简单的理由,至少在使用实际的浏览器信息时

顺便说一下,更改IE8脚本调试器不会禁用错误消息 - 它只是禁用调试对话框并将其替换为脚本错误

取消选中IE标记&#34;错误Dlg显示在每个错误上#34;不会缓解这个问题