在 Silverlight 中禁用 WebBrowser 控件中的 JavaScript 错误

发布于 2024-10-16 12:55:38 字数 237 浏览 1 评论 0原文

我正在开发 Silverlight OOB 应用程序,我需要在其中显示网页 - 我想通过 WebBrowser 控件来完成此操作,但在页面加载期间我收到很多带有 JavaScript 错误的 MessageBox。

有没有办法隐藏这些消息框?

在 winform WebBrowser 控件中,有可以使用的 ScriptErrorsSuppressed 属性,但在 SL 中没有。

如果有任何帮助,我将不胜感激。

I'm developing Silverlight OOB application and I need to show web pages in it - I would like to do it through out WebBrowser control, but during page load I get lots of MessageBoxes with JavaScript errors.

Is there a way of hiding those MessageBoxes?

In winform WebBrowser control there is ScriptErrorsSuppressed property that can be used, but in SL there isn't.

I would be appreciated for any help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

念﹏祤嫣 2024-10-23 12:55:38

尝试在 Internet Explorer 高级设置中关闭脚本调试。最终,该控件使用 MSHTML 进行渲染,而 MSHTML 又从 IE 获取许多设置。

Try turning off script debugging in the internet explorers advanced settings. Ultimately the control uses MSHTML to deliver the rendering, which in turn gets many of it settings from IE.

伴梦长久 2024-10-23 12:55:38

今天我在我的应用程序中回到了这个问题,并且我能够以某种方式解决它。因为我只需要显示一个页面 - 这些页面上没有太多的用户交互 - 我用这种方式解决了这个问题。

在代码中,我使用带有属性 security="restricted" 的 iframe 创建一个 html,然后将 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());

然后我使用 WebBrowserNavigateToString 方法将我的 html 加载到其中。

PS我已将其添加为接受此问题的答案。

Today I've returned to this problem in my app and I was able to resolve it somehow. Because I need to show only a pages - without much user interaction on those pages - I solve it this way.

In code I create a html with iframe with attribute security="restricted" and then I inject url to this iFrame.

My code looks like this:

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());

and then I'm using NavigateToString method of WebBrowser to load my html to it.

P.S. I've added this as an answer to accept this question.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文