1) PNG フォールバックを使用して SVG を埋め込み、2) 外部スタイルシートで CSS を使用して SVG の特定の部分の色をスタイル設定し、3) jQuery を使用しない方法が必要です。
背景:
職場では、複数の Web サイトにまたがるサーバー上の同じリソースにリンクしているため、この方法でリソースを更新した場合、20 のサイトで個別に更新する必要はありません。外部スタイルシートを使用して、リソース (この場合は SVG) を配置する Web サイトのテーマを模倣できるようにします。
私の解決策:
私はもともと jQuery でそれを行いましたが、上司から、私たちが持っている古いサイトのいくつかに jQuery をロードする必要がないため、単純な JS ソリューションが必要であると言われました (これはばかげているように聞こえますが、私は上司ではありません)。
使用した私の元のソリューション:
- SVG フォールバック用の http://www.noupe.com/tutorial/svg-clickable-71346.html (ソリューション 3a.)、および
CSS(jQuery SVG画像置換)を使用してSVG画像の色を変更するには? SVGを埋め込むため。
<a href="link-to-another-page" > <img class="svg" src="awesome.svg" alt="An awesome SVG" width="186" height="235" onerror="this.removeAttribute('onerror'); this.src='not-as-awesome.png'" /> </a> <!--followed by the jQuery code in item #2-->
うまく機能しますが、jQuery を使用します。私は JS の初心者なので、jQuery コードを通常の JS に変換しようとすると、混乱しすぎてしまいます。
どんな提案も役に立ちますが、私が言ったように、これには次のことが必要です。
- クリック可能にする
- jQueryを使用しない
- 外部スタイルシートで SVG スタイルを許可する