簡體   English   中英

在本地保存d3js圖

[英]Saving d3js plot locally

我正在使用d3js創建圖。 我還希望使用戶能夠在自己的計算機上本地保存該圖。 因此,我使用此問題中提到的代碼的稍有變化的版本來創建該圖的可下載圖片。

所以我有以下代碼:

$("svg").attr({ version: '1.1' , xmlns:"http://www.w3.org/2000/svg"});

var svg = $("#chart-main").html();  var b64 = btoa(unescape(encodeURIComponent(svg)));//Base64.encode(svg); // or use btoa if supported

// Works in recent Webkit(Chrome)  
$("body").append($("<img src='data:image/svg+xml;base64,\n"+b64+"' alt='file.svg'/>"));


 // Works in Firefox 3.6 and Webit and possibly any browser which supports the data-uri
  $("body").append($("<a href-lang='image/svg+xml' href='data:image/svg+xml;base64,\n"+b64+"' title='file.svg'>Download</a>"));

但是,當我按下載鏈接時,出現以下錯誤:此頁面包含以下錯誤:

第16行第6行出現錯誤
未定義實體“ nbsp”

鏈接就像data:image/svg+xml;base64,CgkJCQkJP....CgkJCQk=

我該如何解決?

問題是&nbsp; 是HTML實體。

一個獨立的SVG文件(一種XML格式)僅支持五個預定義的XML實體: &amp; &quot; &apos; &lt; &gt;

但是,要表示任何其他unicode字符,您可以使用基於unicode值的字符引用。 不間斷空格的代碼是&#160; 使用它來替換&nbsp; 並且您的SVG文件應經過驗證。

PS我發現FileFormat.info的字符搜索站點對於查找Unicode值很有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM