ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript を使用して Illustrator で生成されたファイルから SVG 要素にアクセスするにはどうすればよいですか?

JavaScript を使用して Illustrator で生成されたファイルから SVG 要素にアクセスするにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-12 07:22:02
オリジナル
515 人が閲覧しました

How to Access SVG Elements from Illustrator-Generated Files with JavaScript?

Illustrator で生成された SVG ファイルから JavaScript を使用して SVG 要素にアクセスする

前述のとおり、Adobe Illustrator で作成された SVG ファイルから JavaScript を使用して SVG 要素にアクセスするRaphaël や jQuery SVG などのサードパーティ ライブラリを利用しなくても、これは確かに可能です。

これを実現するには:

1. SVG ファイルを非同期的にロードします:

HTML5 を組み込みます。要素を使用して、SVG ファイルを非同期的にロードし、そのドキュメント オブジェクト モデル (DOM) にアクセスします。

<object data="alpha.svg" type="image/svg+xml">
ログイン後にコピー

2.ロード イベント リスナーの追加:

ロード イベント リスナーを にアタッチします。 SVG ドキュメントの読み込みが完了し、その DOM が使用可能になったときにコールバック関数を実行します。

<script>
    var a = document.getElementById("alphasvg");
    a.addEventListener("load",function(){
        // code here executes after SVG loads
    }, false);
</script>
ログイン後にコピー

3.内部 DOM を取得して要素にアクセスします:

ロード イベント コールバック内で、SVG ドキュメントの内部 DOM を取得して操作します:

var svgDoc = a.contentDocument;
ログイン後にコピー

この svgDoc への参照を使用すると、アクセスできますgetElementById メソッドを使用した ID による特定の要素:

var delta = svgDoc.getElementById("delta");
ログイン後にコピー

4.イベント ハンドラーの追加:

要素にアクセスできるようになったら、動作のイベント ハンドラーをアタッチできます。たとえば、「delta」要素にクリック ハンドラーを追加するには:

delta.addEventListener("mousedown",function(){
    alert('hello world!')
}, false);
ログイン後にコピー

制限事項:

この手法は同一生成元ポリシーの対象となります。したがって、内部 DOM へのアクセスを保証するには、SVG ファイルを HTML ファイルと同じドメインでホストする必要があります。

以上がJavaScript を使用して Illustrator で生成されたファイルから SVG 要素にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート