0

我在 .NET 2.0 WebBrowser 控件中加载 SVG 文件时遇到问题。如果我创建一个新的 WinForms 应用程序项目,将一个 WebBrowser 控件和一个按钮拖到 Form1.cs 设计图面上,并在按钮的单击处理程序中添加一行以将 WebBrowser 控件的 Url 属性设置为 SVG 文件,我在运行时出现两个 IE 脚本错误(如出现 Javascript 问题时出现的对话框)。因此,我正在编写的唯一代码行是:

webBrowser1.Url = new Uri(@"http://wiki.allegro.cc/pub/f/fb/Grozilla.svg");

如果我使用 IE 直接浏览链接,则此 SVG 文件可以正常加载;我通过我的测试应用程序得到的错误是:

line 2, char 1, error: Invalid character, followed by
line 1, char 1, error: Object expected

(假设我对“继续在此页面上运行脚本”的提示回答“是”)。

我正在使用IE 7.0.5730.13, Adobe SVG Viewer 3.03 build 94, Visual Studio 2008. 任何人都可以复制这个吗?有没有人看到它/知道如何解决它?

(编辑:之前为了示例的目的在构造函数中设置了 URL,但这引发了控件是否已完成初始化的问题,因此已将示例更改为使用按钮 - 问题仍然存在。这个错误最初出现在生产代码中,所以我编写的示例程序试图隔离问题并尽可能简单地重现它。)

(编辑2:在几台不同的机器上测试过,这个问题似乎与IE7有关——运行IE6,一切正常。)

4

2 回答 2

0

我发现在使用 WebBrowser 时,您无法在创建控件时调用导航到页面。

我通过创建一个计时器来解决这个问题,该计时器在加载表单时触发一次(在构造函数中启用它),然后在计时器的事件处理程序中,调用 Navigate 或设置 Url 属性,它应该可以工作。

我无法告诉你为什么我的生活。

于 2009-01-07T18:17:07.493 回答
0

看起来将 SVG 文件的源网站添加到我的受信任的站点列表可以解决问题,所以这与 IE 安全性有关。

于 2009-01-09T10:29:07.003 回答