2015-09-26 26 views
0

下面的代碼工作的主頁上,其中「頁面URL」 ==「基礎URL」如何使用SVG濾鏡和<base>標籤一起

但沒有任何其他網頁

<svg> 
    <filter id="blur"> 
    <feGaussianBlur stdDeviation="5"></feGaussianBlur> 
    </filter> 

    <image id="svg-image" xmlns:href="http://x.com/image.jpg"  
     filter="url(#blur)"> 
    </image> 
</svg> 

上是否有辦法從外部svg文件引用「只有過濾器」?

如:

1.External文件@(http://localhost/somewhere/external.svg

<svg> 
    <filter id="blur"> 
    <feGaussianBlur stdDeviation="5"></feGaussianBlur> 
    </filter> 
</svg> 

2.HTML文件@(http://localhost/elsewhere

<svg> 
    <image id="svg-image" xmlns:href="http://x.com/image.jpg"  
     filter="url(/somewhere/external.svg#blur)"> 
    </image> 
</svg> 
+0

在參考標題,也許最好不要做。 –

+0

@RobertLongson我的困境是,SVG只在一個地方使用(但必要),而BASE則在整個站點使用。所以我只是想盡可能地解決問題? – user3380710

+0

停止使用底座或停止使用濾鏡(或剪輯路徑或標記或遮罩)或停止使用Chrome(或IE或Safari或Opera)。 –

回答

0

url()像使用的文件名應該工作。特別是如果你正在引用當前文件。這將解決您的問題<base>

但是並不是所有的瀏覽器都支持指向另一個文件(還)。

順便說一句,你xmlns:xlink屬性是錯誤的。那應該是xlink:hef=""

+0

實際上它是xmlns:href =「」最初,我將它與w3引用鏈接混合在一起,同時刪除它使其看起來更小。 – user3380710

+0

不,它不工作。我有mod_rewrite(問題?),但它甚至沒有絕對的參考。 svg過濾器定義有問題嗎? – user3380710

+0

@ user3380710不,如答案中所述,並非所有瀏覽器都支持它。例如Firefox,但Chrome只支持**一些**過濾器,我不知道哪一個,也許高斯模糊不是其中之一。你最好的辦法是停止使用''標籤。 –

0

Just Do not || !可能

(由@RobertLongson和@PaulLeBeau建議)