OSDN Git Service

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