Как вы подавляете ошибки скриптов в HTA? - PullRequest
2 голосов
/ 19 августа 2010

У меня есть 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 голосов
/ 11 ноября 2010

Приблизительное диалоговое окно на основе SendWessText () -> SendMessage WM_CLOSE может с этим справиться, но это не совсем отключает

Я искал несколько дней и не нашел надежного решения - возможно, HTA не работаютв конце концов, их упрощенное обоснование, по крайней мере, при использовании фактической информации браузера

Кстати, изменение отладчика сценариев IE8 не отключает сообщение об ошибке - оно просто отключает диалог отладки и заменяет его ошибкой сценария

Снятие флажка IE «Ошибка DLG отображается при каждой ошибке» также не устраняет проблему

0 голосов
/ 19 августа 2010

Насколько я знаю, нет способа подавления подобных ошибок.Если у вас есть доступ к их реестру или групповой политике, вот соответствующее значение реестра (для IE, естественно), которое отключает всплывающее окно:

Ключ: HKEY_CURRENT_USER \ Software \ Microsoft \ Internet Explorer \ Main

Имя: Отключить Script Debugger

Тип: REG_SZ

Значение: нет

...