JavaScriptを色々あれこれしようとするがひたすら失敗を繰り返している
| Revision | 3 (tree) |
|---|---|
| Time | 2016-11-12 11:27:11 |
| Author | |
File保存対応
displayField の innerHTMLを Blobとして downloadする
アプリの性質上 表示データは全て data schemeなので情報が失われない
| @@ -34,6 +34,9 @@ | ||
| 34 | 34 | for( let cnt=0; cnt < palButtonlist.length; cnt++ ){ |
| 35 | 35 | palButtonlist[cnt].addEventListener( 'click', onClickPalButton, false ); |
| 36 | 36 | } |
| 37 | + | |
| 38 | + let savelink = document.getElementById('save'); | |
| 39 | + savelink.addEventListener('click', onClickSaveLink, false); | |
| 37 | 40 | |
| 38 | 41 | |
| 39 | 42 |
| @@ -142,8 +145,24 @@ | ||
| 142 | 145 | |
| 143 | 146 | |
| 144 | 147 | |
| 148 | + // DisplayField 領域の innerHTMLを Blobとして保存 | |
| 149 | + function onClickSaveLink (evt) { | |
| 150 | + debuglog('onClickSaveLink'); | |
| 151 | + let displayInfo = window.displayField.DOMobject.innerHTML; | |
| 152 | + | |
| 153 | + let blob = new Blob([displayInfo], {type: "text/plain"}); | |
| 154 | + let a = document.createElement('a'); | |
| 155 | + a.href = URL.createObjectURL(blob); | |
| 156 | + a.target = '_blank'; | |
| 157 | + a.download = 'filename.txt'; // Edgeは無効…… | |
| 158 | + a.click(); | |
| 159 | + | |
| 160 | + // URL.revokeObjectURL(); | |
| 161 | + }; | |
| 145 | 162 | |
| 163 | + function onClickPalButton (evt) { | |
| 164 | + debuglog('onClickPalButton'); | |
| 165 | + }; | |
| 146 | 166 | |
| 147 | 167 | |
| 148 | - | |
| 149 | 168 | })(); |
| @@ -83,6 +83,7 @@ | ||
| 83 | 83 | <button type=button class="pal" data-objid="pal" data-palid="2" data-value="0000ff01">button3</button> |
| 84 | 84 | <button type=button class="pal" data-objid="pal" data-palid="3" data-value="ffffff01">button4</button> |
| 85 | 85 | <button type=button class="pal" data-objid="pal" data-palid="4" data-value="00000000">button5</button> |
| 86 | + <a href="#" id="save">Save</a> | |
| 86 | 87 | |
| 87 | 88 | |
| 88 | 89 | <script type="text/javascript" src="Common.js"></script> |