Rise, картинок нет - у меня канвас перед кнопкой скачать, из него нужно сделать картинку (в смысле скачать его как картинку).
j0hnik, в фоксе тоже. При этом контекстным меню браузера скачивается как надо. Я вот начал console.log расставлять и сразу заметил одну странность. Ставлю так: let canvas = document.querySelector('.editor canvas'); console.log(canvas); в консоле пусто. (??) Делаю так: let canvas = event.target.parentNode.parentNode.querySelector('canvas'); console.log(canvas); В консоль выводит: <canvas width="1081" height="700"> Смотрю HTML в вкладке Elements, там <canvas width="1081" height="700"> (без закрывающего тега), вместо изначального: <canvas></canvas> Размеры канваса у меня задаются через функцию и зависят от размера окна: function risunokRoof() { let widthWindow = document.documentElement.clientWidth; //Ширина окна браузера const canvasRoof = document.querySelector('canvas'); let ctx = canvasRoof.getContext('2d'); canvasRoof.width = widthWindow - 285; canvasRoof.height = 700; Высоту к размерам окна не привязывал, она даёт NULL. Наверно из за того что у body прописан overflow-y: hidden;, а у родительского для канваса divа заданы стили: .editor { position: fixed; margin-left: 280px; height: 100vh; width: calc(100% - 300px); } Может быть причина из за того что после выполнения скрипта у канваса нет закрывающего тега? |
MC-XOBAHCK,
http://jsfiddle.net/ начертай здесь полный пример, в котором не работает пока только куски кода, а кто знает, что скрыто между ними ) |
Цитата:
<div class="editor"> <canvas></canvas> <a href="" download="my-file-name.png" href="#"> <button id="download">Скачать</button> </a> </div> <script> let canvas = document.querySelector('.editor canvas'); console.log(canvas); alert(canvas.tagName); </script> |
Все кто писал или просто читал пытаясь вникнуть в мою проблему, вы извините меня пожалуйста, что отнял ваше время.
j0hnik сразу показал рабочий вариант. Это я криворукий говнокодер. Добавил id к тегу <a> - заработало. Хотел ещё пару вопросов спросить без кода про канвас, теперь даже не знаю стоит ли. А ещё меня занесло в библиотеку THREE.js. Наверно за вопросы о ней меня вообще забанят. Вы извините и огромное всем вам спасибо за помощь. |
Цитата:
|
Цитата:
Я в VS Code всегда мечтал освоить дебагер, попробую разобраться по буржуйским урокам. |
Часовой пояс GMT +3, время: 11:48. |