0

.NET 2.0 WebBrowser コントロールでの SVG ファイルの読み込みに問題があります。新しい WinForms アプリケーション プロジェクトを作成する場合、WebBrowser コントロールとボタンを Form1.cs デザイン サーフェイスにドラッグし、ボタンのオンクリック ハンドラーに行を追加して、WebBrowser コントロールの Url プロパティを SVG ファイルに設定します。実行時に 2 つの 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 を使用している場合、コントロールの作成中にページに移動するための呼び出しを行うことができないことがわかりました。

フォームが読み込まれたときに 1 回起動するタイマーを作成し (コンストラクターで有効にする)、タイマーのイベント ハンドラーで Navigate を呼び出すか、Url プロパティを設定すると、この問題を回避できます。

理由は一生言えないけど。

于 2009-01-07T18:17:07.493 に答える
0

SVG ファイルのソース Web サイトを信頼済みサイト リストに追加すると問題が解決するようです。これは IE のセキュリティに関係しています。

于 2009-01-09T10:29:07.003 に答える