2 * @author Administrator
5 /** * ドキュメント内のSVGを別ウィンドウで出力する。
6 * 引数svgIndexには、ドキュメント内のSVG要素のインデックスを指定すること。
7 * * (指定しない場合は0。最初のSVG要素とみなされる) */
8 function exportSVG(svgIndex){
9 if (!svgIndex) { svgIndex = 0; }
11 var svgNode = document.getElementsByTagName("svg")[svgIndex];
12 // 生成されるXMLにSVGのネームスペースを指定。
13 svgNode.setAttribute("xmlns", "http://www.w3.org/2000/svg");
16 // 出力するXML(テキスト)SVG要素を追加する。
17 svgText += svgNode.parentNode.innerHTML;
19 // SVG-XMLを文字列化したものをdataスキームで生成
20 // エスケープ(UTF-16文字列はエスケープ解除)
21 var data = "data:image/svg+xml;charset=UTF-8," + UnescapeUTF16Only(escape(svgText));
23 var svgWindow = window.open(data, "SVG", "_blank");
25 function UnescapeUTF16Only(s) {
26 return s.replace(/%u\w\w\w\w/g, UnescapeUTF16);
28 function UnescapeUTF16(s) {