使用Adobe SVG Viewer进行.NET WebBrowser控件

时间:2009-01-07 18:07:50

标签: .net browser svg

我在.NET 2.0 WebBrowser控件中加载SVG文件时出现问题。如果我创建一个新的WinForms应用程序项目,将WebBrowser控件和一个按钮拖到Form1.cs设计图面上,并在按钮的单击处理程序上添加一行,将WebBrowser控件的Url属性设置为SVG文件,I在运行时获取两个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,一切正常。)

2 个答案:

答案 0 :(得分:0)

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

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

我不能告诉你为什么虽然对我而言。

答案 1 :(得分:0)

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