У меня была замечательная схема сделать этот крутой сайт со всеми этими прибамбасами, и я решил использовать HTML canvas, потому что он предлагает такую большую гибкость.Однако с течением времени я начал понимать, что я просто заново изобретал колесо, например, вручную внедрял или интегрировал:
- События мыши / клавиатуры
- Пользовательский (текстовый) ввод
- Простые анимации (т. Е. Затухание)
- Кнопки, выпадающие меню
Первая, особенно заставляет осознать, сколько мы принимаем как должные вещи, такие как onmouseover
.Я понимаю, для чего этот холст - плохо собранные под эгидой пиксельных манипуляций - так что я думаю, чтобы прекратить эту напыщенную речь, мой вопрос таков: кто-нибудь еще думает, что холст плохо интегрируется со всей другой благочестивой добротойHTML5?Вдобавок ко всему, вот две основные вещи, которые было бы аккуратно встраивать в холст (пожалуйста, не стесняйтесь исправлять меня, если они уже включены)
- Встраивание других веб-сайтов: Например,, Если у меня есть форма звезды, я хочу подключить ее функцию
onlcick
для загрузки веб-страницы, а затем использовать функции context.beginPath
и context.clip
, чтобы сделать звезду «полой», чтобы веб-сайт был виден внутри звезды.,Это достижимо на холсте, помещая холст поверх html-страницы (внутри плавающей рамки) и имея прозрачный фон, но что, если я хочу, например, сетку звезд 10х10 со своим собственным веб-сайтом?Что делать, если я хочу масштабировать размер каждой веб-страницы? - Непрямоугольные элементы / виджеты. Одна из вещей, с которой я пытался справиться, - это круговой текстовый редактор.Это достижимо с помощью функций
context.beginPath
и context.clip
, с textentry
или textarea
на заднем плане, однако сигналы улавливаются холстом и не передаются видимому, но тем не менее лежат в основе textarea
или textentry
элемент.Технически возможно уловить каждый сигнал, оценить его, сгенерировать из него новые сигналы и передать его на нужную цель, но я не смог заставить его работать вообще.Было бы очень полезно, если бы был способ встроить элементы HTML в форму холста.[edit] Кроме того, я забыл упомянуть, что нельзя сформировать фактический элемент canvas.Например, если вы рисуете круг в середине окна, холст все еще остается прямоугольником, а области вне круга будут по-прежнему перекрывать основное содержимое и / или захватывать события, созданные пользователем