Отключение ошибок JavaScript в элементе управления WebBrowser в Silverlight

Я разрабатываю приложение Silverlight OOB, и мне нужно показывать в нем веб-страницы - я бы хотел сделать это с помощью элемента управления WebBrowser, но во время загрузки страницы я получаю множество MessageBox с ошибками JavaScript.

Есть ли способ скрывать эти MessageBoxes?

В элементе управления winform WebBrowser есть свойство ScriptErrorsSuppressed, которое можно использовать, но в SL нет.

Я был бы признателен за любую помощь.

Ответ 1

Сегодня я вернулся к этой проблеме в своем приложении, и я как-то смог ее решить. Потому что мне нужно показывать только страницы - без особого взаимодействия с пользователем на этих страницах - я решаю это так.

В коде я создаю html с iframe с атрибутом security="restricted", а затем я добавляю url к этому iFrame.

Мой код выглядит следующим образом:

var html = new StringBuilder(@"<html xmlns=""http://www.w3.org/1999/xhtml"" lang=""EN""> 
                                            <head> 
                                            <meta http-equiv=""Content-Type"" content=""text/html; charset=utf-8"" /> 
                                            <title>{@pageTitle}</title> 
                                            <style type=""text/css""> 
                                            html {overflow: auto;} 
                                            html, body, div, iframe {margin: 0px; padding: 0px; height: 100%; border: none;} 
                                            iframe {display: block; width: 100%; border: none; overflow-y: auto; overflow-x: hidden;} 
                                            </style> 
                                            </head> 
                                            <body> 
                                            <iframe id=""tree"" name=""tree"" security=""restricted"" src=""{@PageLink}"" frameborder=""0"" marginheight=""0"" marginwidth=""0"" width=""100%"" height=""100%"" scrolling=""auto""></iframe> 
                                            </body> 
                                            </html>");
html.Replace("{@pageTitle}", Title);
html.Replace("{@PageLink}", uri.ToString());

а затем я использую NavigateToString метод WebBrowser для загрузки моего html в него.

P.S. Я добавил это как ответ, чтобы принять этот вопрос.

Ответ 2

Попробуйте отключить script отладку в дополнительных настройках интернет-исследователей. В конечном итоге элемент управления использует MSHTML для доставки рендеринга, который, в свою очередь, получает множество настроек из IE.