Отключение ошибок JavaScript в элементе управления WebBrowser в Silverlight - PullRequest
2 голосов
/ 08 февраля 2011

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

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

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

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

Ответы [ 2 ]

1 голос
/ 12 мая 2011

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

В коде я создаю 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.

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

1 голос
/ 08 февраля 2011

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

...