1

Firefox では、サーバーが純粋な SVG ドキュメントをブラウザに発行し、onload= イベントが付加された SVG 要素の前に Javascript スクリプト要素が発行されると、次の SVG 要素の前に以前の SVG 要素がロードされていることが保証されます。 1。したがって、スクリプトは が DOM に存在し、スクリプトがアクセスしようとしたときにアクセス可能であると想定できます。

ただし、IE9 では、DOM 要素がどのように読み込まれるかについて、保証も順序もないようです。

純粋な SVG ドキュメント (DOCTYPE html5 または meta xua タグなし) を強制的に IE9 でドキュメント順にロードする方法はありますか?

それ以外の場合は、要素が DOM にロードされることを単純に保証するために、Javascript で多くの猿の仕事をしています。

4

1 に答える 1

2

SVG または DOM の仕様には、要素をドキュメントの順序でロードする必要があるものは見つかりません (その順序で描画されることだけです)。それが要件でない場合、期待する動作が保証されることはありません。結局、その「モンキービジネス」に頼る必要があると思います。

1 つの可能性は、ターゲット要素の子孫へのリンクである子要素を呼び出し要素に追加することです。リンクが読み込まれるまで、ソース要素の読み込みイベントが遅れる場合があります。

もう 1 つはexternalResourcesRequired="true"、コンテナー要素に設定すると、そのコンテナーに外部リソースを参照する要素が含まれている場合、そのコンテナーの内容のプログレッシブ表示を無効にする効果があることです。つまり、別のドキュメントにリンクしてその属性を設定することで、SVG のストリーミング動作を無効にすることができます。これにより、ロード イベントが発生したときに完全な DOM が強制される可能性があります。

于 2012-05-21T03:35:33.383 に答える