1

オブジェクトを使用して、他のページにhrefしたいSVGを埋め込んでいます。

最初のオプションは、内部のxmlを変更することです Inkscape FAQ-s 1.8.1 http://wiki.inkscape.org/wiki/index.php/Frequently_asked_questionsを参照してください

しかし、js が有効になっている場合は、javascript を使用して URL を動的に変更したいと考えています。とにかく同じSVGドキュメントを再利用したいのですが、リンクが異なります。だから私は別のオプションが必要です。

2番目のオプションは、埋め込みオブジェクトを「a href」タグでラップしますが、それは機能していないようです。SVGでカバーされていないdiv部分をクリック可能なリンクにしますが、svgにはなりません。

{オブジェクト内に .png (usemap を使用してクリック可能にする) があるため、さらに複雑になります。ブラウザーがフォールバックすると、2 つのクリック可能な領域が得られます。PNG と DIV の残りの部分....}

3 番目のオプション、svg 自体の USEMAP です! いいえ、それもうまくいかないようです。

他のオプションはありますか?Javascript の回答は、参照目的で歓迎されますが、理想的にはそうではありません。

編集してHTMLコードを追加

<object class="svg" type="image/svg+xml" data="svgimage.svg" >
    <img src="pngbackupforIEpre9androidpre3.png" type="image/png" usemap="#mapping"/>
</object>
</a>
<map name="mapping">
<area shape="rect" coords="0,0,100,100" href="svgfreezone.php" />
</map>

SVG XML コードを追加するための編集

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="100%" viewBox="0 0 617.875 320.75" width="100%" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<metadata>
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title/>
</cc:Work>
</rdf:RDF>
</metadata>
<g transform="translate(-66.78125,-339.125)">
<rect style="stroke:#000000;stroke-miterlimit:4;stroke-dasharray:none;stroke-width:3.5999999;fill:#ff0000;" height="317" width="614" y="341" x="68.6"/>
</g>
</svg>

ノート; svg はバキュームされ、プレーンとして保存され、「色の簡素化 Y、xml へのスタイル N、グループの折りたたみ Y、ID の削除を有効にする Y、ラスターを埋め込む N、エディター データを保持する N、viewboxing を有効にする Y、xml を削除する」を使用して最適化されています。プロローグ N、精度 3 を設定、インデントなし。"

4

3 に答える 3

1

さて、私には2つのオプションがあります:

最初のオプション: (これは Web アプリの場合にのみ有効です。「通常の」Web サイトの場合、これは適切ではない可能性があります)アンカーにリンクする SVG で通常のhrefを使用します。つまり、#something URL です。ただのハッシュ。認識できる「特別な」ハッシュを使用し、ウィンドウの「hashchange」イベントにフックして、ハッシュ == '#my_special_hash' かどうかを確認し、好きな場所にリダイレクトします。

2 番目のオプション: SVG にプレースホルダー href を配置し、JavaScript で SVG コンテンツを読み取ります。次に、href を実際に必要な URL に置き換えて、ページに挿入します。ほとんどのブラウザは、SVG をソース イメージおよびオブジェクトとしてサポートしています。実際のコードが必要な場合は、 Raphaelライブラリが SVG を構築する方法を確認できます。一部の古いブラウザーではサポートされていないため、フォールバックに VML を使用することに注意してください。

幸運を!:-)

于 2012-04-14T20:53:48.157 に答える
-1

display: block;SVG を使用する場合は、SVG を適切にサポートしていないブラウザもあることに注意してください。

于 2016-07-11T09:37:43.140 に答える