2013-06-22 53 views
1

我有大約100個svg文件,對於所有我想改變相同的東西。這是原文:外部更改svg選項

<svg version="1.1" id="Laag_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 
    width="460px" height="104px" viewBox="0 0 460 104" enable-background="new 0 0 460 104" xml:space="preserve"> 

而且我想改變這樣的:

<svg version="1.1" id="Laag_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 
    preserveAspectRatio="xMinYMin meet" viewBox="0 0 460 104" enable-background="new 0 0 460 104" xml:space="preserve"> 

我的HTML代碼是:

<div id="main"><object width="100%" data="http://euclidthegame.com/mathexchange/7.svg" type="image/svg+xml"></object></div> 

所以我想設置的高度和寬度爲默認,我想添加preserveAspectRatio="xMinYMin meet"。當然,我可以編輯所有文件,但我想用外部使用,JavaScript,jQuery或CSS。我不知道如何在外部svg中更改屬性。

這裏是我的嘗試:http://jsfiddle.net/kasper90/vV7Y8/

+0

你在(Windows,Linux)中工作的環境是什麼?如果這些解決方案都不適合您,我可以提供一個腳本來完成實際文件中的更改,而無需手動完成每個文件。 – tylerauerbeck

+0

您是否使用過SVG Cleaner(http://libregraphicsworld.org/blog/entry/svg-cleaner-0.5-leaner-faster-runs-on-mac),SVG Scour(https://launchpad.net/scour )或SVGo(https://github.com/svg/svgo)? –

回答

1

可能的解決辦法:避免編輯100 SVG文件,將其轉換爲inline <svg>時,code is found in my answer這個太問題。

和調整的代碼中插入preserveAspectRatio: -

$aspectRatio = "xMinYMin meet"; 
$svg = $svg.attr('preserveAspectRatio', $aspectRatio); 

速度:作爲<svg>圖像已經被加載了,$.get()將導致HTTP Error 304 - Not modified和內容會從瀏覽器緩存中讀取。