此刻,我正在嘗試在我的網站上呈現一些項目名稱作爲svg。我使用webfont,並在第一次加載時,我的腳本計算內聯svg的錯誤寬度,只要我重新加載我的網站,寬度計算得當。 (用於再現錯誤的足夠刪除瀏覽器緩存)Inline svg + webfont計算錯誤寬度
<script>
var startup81 = function (evt) {
var svgNS = "http://www.w3.org/2000/svg";
var txtNode = document.createTextNode("D");
text = document.createElementNS(svgNS,"text");
text.setAttributeNS(null,"x",5);
text.setAttributeNS(null,"y",130);
text.setAttributeNS(null,"style","font-family:MatryoshkaL; font-size:185px;");
text.setAttributeNS(null,"fill","url(#pattern81)");
text.appendChild(txtNode);
document.getElementById("main81").appendChild(text);
var width;
width = text.getComputedTextLength() +3;
var elem = evt.target;
elem.setAttribute("width", + Math.round(width));
}
</script>
<svg id="main81" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" onload="startup81(evt)" height="168" ><defs id="defs81"><pattern x="-108" y="-71" id="pattern81" width="200" height="160" patternUnits="userSpaceOnUse" patternTransform="rotate(-35)"><image id="image81" preserveAspectRatio="none" height="160" width="200" xlink:href="http://i.imgur.com/WpE9bNB.jpg"></image></pattern></defs></svg>
至於有沒有辦法讓呈現在首次訪問每個SVG的寬度是多少?
感謝您的幫助
如果你把這裏做這個轉換的代碼,而不是鏈接到它的方便多了你的網頁。 – shershen
對不起,我編輯我的第一篇文章,並添加我的代碼 – Locke