teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

回答者より 編集履歴よりコピペ

2016/02/27 09:30

投稿

kuniku
kuniku

スコア253

answer CHANGED
@@ -1,1 +1,46 @@
1
- 先に他の簡易な方法が投稿されているため削除しました
1
+ 先に他の簡易な方法が投稿されているため削除しました
2
+
3
+
4
+ 以下、編集履歴よりコピペ
5
+
6
+ SVGは、中身はXML形式なのでそのXMLの中身の文字列を、
7
+ サーバ側に送信してサーバ側では、その文字列をXMLファイルとして
8
+ 必要なタグを補完するなどして、ファイル保存すれば、SVGファイルになると思います。
9
+ まったく動作を確認していませんが、以下のような仕組みのような
10
+ 簡易な状態から試してみると良いのではないでしょうか。
11
+ ・SVGファイル、htmlファイル内のsvg描画、サーバに送信(post)する
12
+ ・サーバ側では、postされたときのパラメータを、保存して、XMLタグを補完する。
13
+ 参考
14
+ http://d.hatena.ne.jp/dhrname/20070312/1173709775
15
+ http://memopad.bitter.jp/w3c/svg/svg_inhtml.html
16
+ http://dresscording.com/blog/svg/retina_svg.html
17
+ ●SVG
18
+ <?xml version="1.0" encoding="UTF-8" ?>
19
+ <svg height="850" width="850" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
20
+ <defs>
21
+ <script>
22
+ </script>
23
+ </defs>
24
+ <g id="rectangle">
25
+ <rect height="100%" style="fill:#FFFFFF" width="100%" x="0" y="0"></rect>
26
+ </g>
27
+ </svg>
28
+ ●html側
29
+ <div id="divSVG" value="0" >
30
+ <embed name="nSVG" wmode="transparent" id="idSVG"
31
+ style="position:absolute; top:0px; left:0px; z-index:1;" src="上記のSVGと過程" BGCOLOR=#ffffff>
32
+ </div>
33
+ embedやobjectでのhtmlに埋め込み
34
+ post用のhiddenタグを用意
35
+ <form>
36
+ <input type="hidden" name="nodeSVG">
37
+ </form>
38
+ ●js
39
+ var docSVG = idSVG.getSVGDocument();
40
+ var objSVG = docSVG.getElementsByTagName("svg").item(0);
41
+ var str = idSVG.window; // ここの取得が不明瞭
42
+ document.form.nodeSVG.value = str.printNode(objSVG);
43
+ document.form.submit();
44
+
45
+ もしくは
46
+ docSVGが文字列ならば、その文字列をhiddenにセットしてpostする

1

削除

2016/02/27 09:30

投稿

kuniku
kuniku

スコア253

answer CHANGED
@@ -1,52 +1,1 @@
1
- SVGは、中身はXML形式なのでそのXMLの中身の文字列を、
2
- サーバ側に送信してサーバ側では、その文字列をXMLファイルとして
3
- 必要なタグを補完するなどして、ファイル保存すれば、SVGファイルになると思います。
4
-
5
- まったく動作を確認していませんが、以下のような仕組みのような
6
- 簡易な状態から試しみると良のではないでょうか。
1
+ 先に他の簡易な方法が投稿されているため削除ました
7
-
8
- ・SVGファイル、htmlファイル内のsvg描画、サーバに送信(post)する
9
- ・サーバ側では、postされたときのパラメータを、保存して、XMLタグを補完する。
10
-
11
- 参考
12
- http://d.hatena.ne.jp/dhrname/20070312/1173709775
13
- http://memopad.bitter.jp/w3c/svg/svg_inhtml.html
14
- http://dresscording.com/blog/svg/retina_svg.html
15
-
16
- ●SVG
17
-
18
- <?xml version="1.0" encoding="UTF-8" ?>
19
- <svg height="850" width="850" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
20
- <defs>
21
- <script>
22
- </script>
23
- </defs>
24
- <g id="rectangle">
25
- <rect height="100%" style="fill:#FFFFFF" width="100%" x="0" y="0"></rect>
26
- </g>
27
- </svg>
28
-
29
- ●html側
30
-
31
- <div id="divSVG" value="0" >
32
- <embed name="nSVG" wmode="transparent" id="idSVG"
33
- style="position:absolute; top:0px; left:0px; z-index:1;" src="上記のSVGと過程" BGCOLOR=#ffffff>
34
- </div>
35
-
36
- embedやobjectでのhtmlに埋め込み
37
-
38
- post用のhiddenタグを用意
39
- <form>
40
- <input type="hidden" name="nodeSVG">
41
- </form>
42
- ●js
43
-
44
- var docSVG = idSVG.getSVGDocument();
45
- var objSVG = docSVG.getElementsByTagName("svg").item(0);
46
- var str = idSVG.window; // ここの取得が不明瞭
47
-
48
- document.form.nodeSVG.value = str.printNode(objSVG);
49
- document.form.submit();
50
-
51
- もしくは
52
- docSVGが文字列ならば、その文字列をhiddenにセットしてpostする