Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.235.75.229] |
|
Сообщ.
#1
,
|
|
|
Здравствуйте!
default.html <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Вывод изображения</title> <!-- DrawImageExample references --> <link href="/css/default.css" rel="stylesheet" /> <script src="/js/jquery-3.2.1.js"></script> <script src="/js/default.js"></script> </head> <body> <canvas id='canva'>Обновите браузер</canvas> </body> </html> default.js (function ($) { $(document).ready( function () { var canva = $('#canva'), //<-- тут исключение ctx = canva.getContext('2d'), pic = new Image(); pic.src = '/images/Diagram.png'; // Рисуем изображение ctx.drawImage(pic, 0, 0, 64, 64); } ); })(jQuery); ничего не выводит, а вот если запускать из VS2013 то выбрасывает исключение на строку canvas = $('#canvas'), если же заменить на var canvas = document.getElementById("canvas"), то из среды выводит картинку, а вот запуская через броузер ничего нет. пробовал MS Edge, Google Chrome 58. |
Сообщ.
#2
,
|
|
|
Цитата Cfon @ canvas = $('#canvas') Цитата Cfon @ <canvas id='canva'>Обновите браузер</canvas> |
Сообщ.
#3
,
|
|
|
Цитата Астарот @ там опечатка на самом деле вот так canvas = $('#canva') или так var canvas = document.getElementById("canva"), не работает никак |
Сообщ.
#4
,
|
|
|
id уже добавляет переменную в window
Добавлено <canvas id="some"></canvas> <script> console.log(some); </script> Добавлено Ну и да: Скрытый текст 1) Скрипты надо грузить асинхронно, чтобы не блокировать поток исполнения 2) Выкинуть нафиг jq за ненадобностью 3) Выкинуть нафиг студию - она только для C# подходит и поставить нормальную IDE https://www.jetbrains.com/ |
Сообщ.
#5
,
|
|
|
Цитата Serafim @ Скрипты надо грузить асинхронно, чтобы не блокировать поток исполнения А это как? И уже не модно все скрипты сливать в один? |
Сообщ.
#6
,
|
|
|
Цитата Астарот @ А это как? И уже не модно все скрипты сливать в один? Если юзается http2, то не обязательно. А так - да, собираешь в один + можбыть чанки для малоюзабельных страниц. А как - добавить атрибут async для тегов скриптов. А то сейчас скрипты лочат страницу до тех пор, пока они не загрузились и не скопилились (хотя всякие модные браузеры умеют уже это обходить вроде как). |
Сообщ.
#7
,
|
|
|
Цитата Serafim @ Если юзается http2 А он уже поддерживается? Во прогресс прет! |
Сообщ.
#8
,
|
|
|
Цитата Serafim @ id уже добавляет переменную в window Добавлено <canvas id="some"></canvas> <script> console.log(some); </script> разобрался дело было в событии onload, ну и путь в моем случае был некорректным, теперь все пучком. кроме непоняток с jQuery, она не работает с канвой? идет исключение если через $("#canva1") (function ($) { $(document).ready( function () { var canvas = document.getElementById("canva1"), //canvas = $("#canva1"), //<-- через jQuery исключение ctx = canvas.getContext('2d'), pic = new Image(); pic.src = 'images/Diagram.png'; //<-- тут убрал слеш '/' впереди pic.onload = function () { //<-- ждём момента пока загрузится изображение ctx.drawImage(pic, 0, 0, 64, 64); } } ); })(jQuery); Цитата Serafim @ Ну и да: Скрытый текст 1) Скрипты надо грузить асинхронно, чтобы не блокировать поток исполнения 2) Выкинуть нафиг jq за ненадобностью 3) Выкинуть нафиг студию - она только для C# подходит и поставить нормальную IDE https://www.jetbrains.com/ не пока студия устраивает, оформление, подсказки и тп. пробовал Atom от GitHub, вроде норм, но как мне показалось в студии шрифт более четкий, чем в редакторе Atoma, ну и общее оформление кода в студии больше нравиться, опять же в студии мона сразу запускать и смотреть результат в его среде без переключения на броузер. позже проверю JetBrains WebStorm |
Сообщ.
#9
,
|
|
|
Цитата Астарот @ А он уже поддерживается? Во прогресс прет! Дратути, у меня мой сайт на http2 |
Сообщ.
#10
,
|
|
|
Цитата Serafim @ Дратути, у меня мой сайт на http2 У теюы есть саааайт?! |
Сообщ.
#11
,
|
|
|
Цитата Астарот @ У теюы есть саааайт?! Нет сынок, это фантастика. |
Сообщ.
#12
,
|
|
|
Цитата Cfon @ кроме непоняток с jQuery, она не работает с канвой? идет исключение если через $("#canva1") разобрался надо было обратится к элементу массива с индексом 0: canvas = $("#canva1")[0], |
Сообщ.
#13
,
|
|
|
Цитата Serafim @ Нет сынок, это фантастика. А ну ка пакажка! Пакажка! А ну ка! |