2013-08-07 113 views
0

我已經將d3的強制導向圖形佈局嵌入到extjs選項卡中,這樣每次添加新選項卡時都會生成一個新圖形svg。 到目前爲止沒有問題。Mozilla(Firefox),Marker,多個SVG

現在我欲把圖形成有向一個(通過添加一個標記,告訴線使用它)

每個生成的SVG元素是以下這樣的模式:

<svg width="100%" height="100%"> 

<defs><marker id="end-arrow" viewBox="0 -5 10 10" refX="6" markerWidth="3"  markerHeight="3" orient="auto"><path d="M0,-5L10,0L0,5" fill="#ccc"></path></marker> 
</defs> 

<g transform="translate(4,0) scale(1)"><line class="link" sig="30.84" style="stroke-width: 3;" x1="538" y1="347" x2="409" y2="467" marker-end="url(#end-arrow)"></line> 
... 
</g> 
</svg> 

隨着克羅姆一切正常。 所以我得出了這樣的結論:structur和 我生成svgs的方式應該或多或少是正確的。

但與Firefox的標記將只顯示第一個SVG。 (第一個標籤) 所有其他svgs不會顯示任何箭頭。

「檢查元素」告訴我標記在那裏,並且這些線條指向它們。

這就是我正在用盡想法的地方或尋找什麼。 :(

+0

你可以創建一個jsfiddle,所以我們可以看到代碼嗎?你也確定你沒有重複的id屬性嗎? –

+0

是的,重複的id是我第一次想到的地方,尤其是因爲所有的標記ID =「end-arrow」。但由於它們在它們的svg中是獨一無二的,並且因爲另一個瀏覽器可以毫無問題地顯示它們,所以我懷疑它是一個ID的東西,但也許我錯過了一些明顯的東西:) – user2660068

回答

1

您在同一個html或svg文檔中有多個不同的ID。This is invalid,不同的UA響應不同,但由於您不允許這樣做,因此它們不一致並不重要。

+0

謝謝。不同的ID解決了這個問題。 – user2660068