我在一個單獨的文件中定義了一些SVG過濾器和標記,以用於我的主要SVG內容。外部定義的SVG標記和過濾器不能在Chrome中工作
這裏是從文件(dependencies.svg)樣品:
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
<filter id="grayscale">
<feColorMatrix type="matrix" values="0.6666 0.3333 0.3333 0 0 0.3333 0.6666 0.3333 0 0 0.3333 0.3333 0.6666 0 0 0 0 0 1 0"></feColorMatrix>
</filter>
<marker id="Output" viewBox="0 -6 12 11" refX="10" markerHeight="8" markerWidth="8" orient="auto">
<path d="M0,-5L10,0L0,5L0,-5" stroke-width="1px" markerWidth="8" markerHeight="8" stroke="#696969" style="fill: rgb(105, 105, 105);"></path>
</marker>
在Firefox以下作品時施加到行:
marker-end: url("/path/to/dependencies.svg#Output");
然而,它沒有在Chrome工作或歌劇。
當我嘗試將濾鏡應用於元素(如<rect>
元素)時也是如此。
奇怪的是,我可以看到我的dependencies.svg文件在兩種情況下都加載(firefox和webkit),但是webkit什麼也不做。
我已經測試了這兩個屬性作爲style
屬性和filter
和marker-end
屬性的一部分。在所有情況下,Firefox都可以工作,Webkit不會。
這是Webkit的一個已知缺陷還是我錯過了一些真正明顯的東西?
編輯:我想這可能是一個閃爍問題(我一直在說的Webkit,老習慣)
(確認)嘗試過幾個簡單的測試用例,對我來說它也像是一個Blink bug。但與你不同的是,我無法確認在Chrome中由'marker-end'啓動的依賴關係請求是否真的被髮送;我可以在使用''元素時看到它們,實際上按預期工作。 – myf
感謝您的確認。 – Tsarbomb