我有一个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>
这是错误的屏幕截图:
答案 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;不会缓解这个问题