object タグを使用してクロスドメイン SVG コンテンツ ドキュメントを埋め込む
P粉393030917
P粉393030917 2023-10-31 18:04:21
0
1
927

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

リーリー


P粉393030917
P粉393030917

全員に返信(1)
P粉466643318

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

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート