我直接通過電子郵件發送,但如果其他人有興趣將SVG整合到HTML中,這是我的方法。
添加的onclick事件爲SVG
由於Soumya92說,你可以直接添加到這些SVG元素,如:
<path onclick="alert('Alert!');"/>
對於更復雜的功能,你可以添加ECMASscript(基本的Javascript )加入SVG。例如。
<svg>
<script type="text/ecmascript">
<![CDATA[
function myfunction(evt){
alert(evt.target.getAttributeNS(null, "alert_text"));
}
]]>
</script>
<path id="my_path" alert_text="Alert!" onclick="myfunction(evt)" d="..."/>
</svg>
要調用存在於HTML調用JavaScript函數:
top.myfunction()
操縱SVGs從HTML 嵌入SVG在HTML中:
<embed name="mySVG" src='svg_filename.svg'></embed>
確保HTML和SVG在同一個文件夾中,否則Javascript將無法訪問它。使用JavaScript訪問SVG元素添加功能的HTML腳本元素:
function ready(){
svgdoc = document.svg_map.getSVGDocument();
svgRoot = svgdoc.documentElement;
}
並與SVG中調用此:
function init(evt) {
top.ready()
}
而且SVG元素本身,例如內調用此
<svg
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
version="1.2"
onload="init(evt)">
最後,您現在可以選擇和操作SVG元素。例如:
svgdoc.getElementById('my_path').setAttributeNS(null, "fill", "#ff0000");
我認爲這應該涵蓋大多數基本選項。它絕對適用於最新版本的Firefox。它應該適用於Chrome,但只有在Web服務器上的文件 - 如果它們只在您的計算機上,那麼它會阻止Javascript從另一個文件訪問一個文件。我不能擔保其他瀏覽器。
我認爲嘗試將SVG嵌入到yoru HTML中會更有成效,而不是試圖將SVG轉換爲HTML。您提到了svgweb和Ample SDK,但是您沒有描述這些解決方案以何種方式失敗。請提供更多信息。謝謝。 – jbeard4 2011-05-15 14:02:37
另外,爲什麼要刪除鏈接到SVG?無論如何,它仍然可用時查看這篇文章的修訂:http://stackoverflow.com/posts/6006566/revisions – jbeard4 2011-05-15 14:03:51