Как подавить ошибки скрипта на inte rnet explorer 7, поступающих из iframe? - PullRequest
1 голос
/ 03 апреля 2020

Я построил DLL с C ++. Внутри я включил cwebpage.dll, который использует Microsoft Inte rnet Explorer версии 7.0 в качестве стандартного, со следующим пользовательским агентом:

Mozila/4.0 (compatible; MSIE 7.0; Windows NT 6.2; WOW64; Tridnet/7.0;
.NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 
3.5.30729)

Появится следующая строка на веб-странице, которую я показываю, всплывает ошибка сценария.

<iframe id="stream" src="https://player.twitch.tv/?channel=example"></iframe>

Ошибка отображается во всплывающей форме оповещения, как показано на следующем снимке экрана.

Script Error

Я много искал, чтобы отключить эту ошибку, но я думаю, что, поскольку она исходит из iframe, javascript sulotions вроде

window.onerror = null;

или

window.onerror=function(){return true;}

не работают, и ошибки сценария все еще появляются.

Я нашел, как отключить его из настроек проводника inte rnet, что не то, что я ищу.
Это должно быть Обобщенное c решение для всех моих пользователей DLL.
Я также пытался отредактировать IE отладочные отключающие значения реестра на «да» на

HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\Main

Values: Disable Script Debugger/DisableScriptDebuggerIE

, но я не увидел никакого эффекта , Ошибки сценариев по-прежнему появляются.

Как предотвратить появление этой ошибки с одной стороны, но разрешить продолжение сценариев с другой? Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 01 мая 2020

Использовать

WebBrowser1.ScriptsErrorsSuppressed = true;

WebBrowser1 или имя официального элемента управления WebBrowser

0 голосов
/ 04 апреля 2020

Например, Youtube и Facebook не позволяют отображать свои сайты в iframe. Таким образом, ошибка генерируется сценариями облачного фронта (либо защита от ddos, либо попытка заблокировать ваш запрос) - как это решить - добавьте

<script type="text/javascript">         
   window.onerror = function (e) { return true; }        
</script>

в заголовок каждой страницы / приложения, которые вы добавляете через iFrames , а также на родительскую страницу.


Положение сценария. До всех других сценариев (например, jQuery и Microsoft Ajax или вызова player.twitch.tv) Эти сценарии могут выдавать ошибки до того, как сценарий window.onerror будет даже оценен.
Ошибки iFrame, похоже, всплывают независимо от обработки ошибок на родительской странице. Так что go в свой репозиторий кода и внесите необходимые изменения в каждое приложение, которое вы добавляете.
Дополнительная информация о встраивании twitch в iFrames

...