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

質問編集履歴

1

情報の修正

2019/12/02 14:51

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- JavaScript、chart.jsで描写したグラフを画像として保存したいのですが、1ページに複数のグラフがある場合、最後のグラフにしか処理が効かない問題を解決したい。
1
+ JavaScriptで描写したグラフを画像として保存したいのですが、1ページに複数のグラフがある場合、最後のグラフにしか処理が効かない問題を解決したい。
body CHANGED
@@ -1,58 +1,3 @@
1
- chart.jsで描写したグラフを保存したいです。
1
+ JavaScriptで描写したグラフを保存したいです。
2
2
  保存自体は出来たのです、1ページに複数の画像があると、なぜか処理が最後の要素にしか効きません。
3
- JavaScriptはおろかプログラミング自体が素人なので要領を得ない部分があるかと思いますが、アドバイス頂けると幸いです。
3
+ プログラミング自体が素人なので要領を得ない部分があるかと思いますが、アドバイス頂けると幸いです。
4
-
5
- ```html
6
- <canvas id="chart"></canvas>
7
- <button id="download_button">画像を保存</button>
8
- <a id="download_link"></a>
9
- <script>
10
- window.onload = function(){
11
-
12
- var canvas = document.getElementById('chart');
13
- var downloadLink = document.getElementById('download_link');
14
- var filename = 'chart.png';
15
- var button = document.getElementById('download_button');
16
- button.addEventListener('click', function(){
17
-
18
- if (canvas.msToBlob) {
19
- var blob = canvas.msToBlob();
20
- window.navigator.msSaveBlob(blob, filename);
21
- } else {
22
- downloadLink.href = canvas.toDataURL('image/png');
23
- downloadLink.download = filename;
24
- downloadLink.click();
25
- }
26
-
27
- });
28
-
29
- };
30
- </script>
31
-
32
- <canvas id="second_chart"></canvas>
33
- <button id="second_download_button">画像を保存</button>
34
- <a id="second_download_link"></a>
35
- <script>
36
- window.onload = function(){
37
-
38
- var canvas = document.getElementById('second_chart');
39
- var downloadLink = document.getElementById('second_download_link');
40
- var filename = 'second_chart.png';
41
- var button = document.getElementById('second_download_button');
42
- button.addEventListener('click', function(){
43
-
44
- if (canvas.msToBlob) {
45
- var blob = canvas.msToBlob();
46
- window.navigator.msSaveBlob(blob, filename);
47
- } else {
48
- downloadLink.href = canvas.toDataURL('image/png');
49
- downloadLink.download = filename;
50
- downloadLink.click();
51
- }
52
-
53
- });
54
-
55
- };
56
- </script>
57
-
58
- ```