検索

ホームページ  >  に質問  >  本文

object タグを使用してクロスドメイン SVG コンテンツ ドキュメントを埋め込む

外部ドメインからのデータ (data="//da86ge957603k.cloudfront.net/rails/grafitti_logo-f4e8238a87c979c0cf5b41481c982b71.svg") を含む SVG を作成し、ロード イベントをオブジェクトに続いて contentdocument プロパティを渡すと、このオブジェクトの SVG DOM にアクセスしますか? SVG がローカル ドメイン上にある場合はこれを行うことができますが、SVG を他の場所でホストしようとすると、「this.contentDocument が空です」というエラーが発生します。 getSVGDocument() も試してみました。これがクロスオリジンのセキュリティ問題であるという記述はどこにも見つかりません。私の知る限り、これは SVG で使用されるオブジェクト タグに対して許可されるべきです (私は iFrame を使用していません)。時間を割いていただきありがとうございます。以下は、オブジェクトとバインディングを埋め込み、DOM にアクセスするために使用するコードです (前述したように、これは SVG がローカル ドメインにある場合に機能します)。

リーリー


P粉393030917P粉393030917508日前1220

全員に返信(1)返信します

  • P粉466643318

    P粉4666433182023-11-01 00:13:45

    w3cはこれを文書化しました。オブジェクト タグの詳細については、こちらをご覧ください。CORS を介する場合を除き、ドメインを越えて タグ付きデータにアクセスすることはできません。

    MDN には より読みやすい改良点があります。 この問題を解決するには、 (可能な場合) リモート サイトで CORS を有効にする必要があります。

    返事
    0
  • キャンセル返事