【问题标题】:How do you suppress script errors in HTAs?如何抑制 HTA 中的脚本错误?
【发布时间】:2010-08-19 04:38:31
【问题描述】:

我有一个 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>

这是错误的屏幕截图:

【问题讨论】:

  • 我有一个非常相似的问题,但是在我的 hta 内部:jquery 正在工作,但总是抛出错误,所以我想抑制它们,因为无论如何页面仍然可以正常工作......

标签: vbscript error-handling javascript hta


【解决方案1】:

据我所知,没有办法抑制这样的错误。如果您可以访问他们的注册表或组策略,这里是禁用该弹出窗口的相关注册表值(自然适用于 IE):

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

名称:禁用脚本调试器

类型:REG_SZ

值:无

【讨论】:

    【解决方案2】:

    A sentinent GetWindowText() -> 基于 SendMessage WM_CLOSE 的对话框关闭器可以处理这个问题,但并不完全禁用

    我已经寻找了好几天,但还没有找到可靠的解决方案——也许 HTA 并不能满足其简单化的基本原理,至少在使用实际浏览器信息时是这样

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

    取消选中 IE 标志“Error Dlg Displayed On Every Error”也不能缓解问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-18
      • 1970-01-01
      • 2011-09-02
      • 2016-11-30
      • 2011-04-20
      • 2010-11-20
      • 1970-01-01
      • 2017-03-02
      相关资源
      最近更新 更多