Браузер не поддерживает canvas

Обновлено: 04.07.2024

Будучи одной из крупнейших платформ графического дизайна с более чем 4 миллионами пользователей, Canva делает ставку на то, что их услуги всегда доступны. К сожалению, как и любое приложение или веб-сайт, Canva также испытывает простои и ошибки на своих серверах.

Хотя они изо всех сил стараются свести к минимуму простои, время от времени могут возникать проблемы, например, загрузка не работает на Canva.

Если вы не можете загрузить свои медиа-файлы на Canva, продолжайте читать потому что мы здесь, чтобы помочь!

Сегодня мы покажем вам несколько способов решения проблемы с загрузками, которые не работают на Canva.

Прежде чем делать что-либо на вашей стороне, посетите официальную страницу Canva и проверьте, все ли в порядке с их серверами.

Теперь давайте перейдем к реальным решениям!

1 . Повторно войдите в свою учетную запись 2. Отключите VPN 3. Попробуйте другой браузер 4. Проверьте подключение к Интернету.5. Сделайте еще одну копию и загрузите 6. Выберите другой тип файла и загрузите 7. Очистите кеш браузера и файлы cookie 8. Отключить расширения браузера 9. Перейдите на Canva Pro. 10. Свяжитесь с Canva.

1. Повторно войдите в свою учетную запись.

Таким образом, данные вашей учетной записи будут обновлены, и можно будет восстановить правильное соединение между вашим браузером и серверами Canva.

Сначала нажмите на свое изображение профиля в правом верхнем углу экрана. Теперь нажмите кнопку Выйти .


Наконец, еще раз введите учетные данные своей учетной записи и нажмите кнопку Войти .

После того, как вы вернетесь в свою учетную запись, перейдите к проекту, который вы хотите загрузить, и повторите попытку, чтобы проверить, устранена ли проблема.

2. Отключите VPN.

Если вы используете службу VPN для обеспечения безопасности, отключите ее. Хотя службы VPN отлично подходят для обеспечения безопасности, иногда они могут мешать соединению между Canva и вашим браузером.


Причина в том, что VPN случайным образом изменяют ваш IP-адрес, чтобы скрыть вашу истинную личность при использовании Интернета. . Поскольку в вашем IP-адресе случаются случайные изменения, стабильное соединение с серверами Canva невозможно.

Однако, если вы по-прежнему предпочитаете использовать VPN при работе в Интернете, ознакомьтесь с нашим руководством по лучшим услугам VPN. Вы также можете использовать VPN из списка, если хотите смотреть Netflix в США за пределами региона.

3. Попробуйте другой браузер.

Интернет-браузеры используют механизмы, которые обрабатывают код, написанный на веб-сайте, и отображают его на нашем экране. Однако эти движки интерпретируют код на веб-сайте по-разному.

Если Canva не работает должным образом в вашем браузере по умолчанию, попробуйте использовать другой. Подумайте об использовании популярных браузеров, таких как Firefox, Chrome и Opera, которые оптимизированы большинством веб-разработчиков.

4. Проверьте подключение к Интернету.

Поскольку Canva является веб-приложением, для правильной работы требуется стабильное подключение к Интернету. Если вы не можете загрузить файлы на Canva, это может указывать на медленное или нестабильное подключение к Интернету.


Если ваша сеть действительно медленная или нестабильная, попробуйте перезапустить маршрутизатор, чтобы восстановить правильное соединение. у вашего интернет-провайдера. Вы можете сделать это, просто отключив кабель питания роутера от розетки. Теперь подождите 5–10 секунд, прежде чем снова подключить кабель питания.


После перезапуска маршрутизатора выполните еще один тест скорости и посмотрите, устранена ли проблема. Однако, если проблема с сетью не исчезнет, ​​сразу же обратитесь к своему интернет-провайдеру и сообщите ему о проблеме с его службой.

5. Сделайте еще одну копию и загрузите.

При создании наших проектов на Canva мы настраиваем и настраиваем некоторые его параметры в соответствии с нашими предпочтениями. Возможно, некоторые изменения, внесенные вами в текущий проект, вызвали проблему с загрузкой, которая не работает в Canva.

Сначала откройте свою учетную запись в браузере и нажмите «Все ваши дизайны» в боковом меню. Теперь наведите курсор на дизайн, который вы хотите загрузить, и нажмите Кнопка Параметры . После этого нажмите Сделать копию .


Наконец, наведите курсор на созданную копию и нажмите снова нажмите кнопку "Параметры" . Нажмите Загрузить и следуйте инструкциям на экране, чтобы продолжить процесс.

Убедитесь, что вы можете загрузить свой проект после копирования файла.

С другой стороны, если загрузка Canva по-прежнему не выполняется, перейдите к следующему методу ниже, чтобы решить эту проблему.

6. Выберите другой тип файла и загрузите.

Если вы не можете загрузить определенный тип файла на Canva, например JPEG, попробуйте изменить тип файла на PNG или GIF, чтобы узнать, сможете ли вы его загрузить.

В своей учетной записи Canva нажмите " Все ваши дизайны " в боковом меню. После этого выберите файл, который хотите загрузить. Теперь нажмите кнопку "Загрузить" в правом верхнем углу экрана. Наконец, выберите другой формат из раскрывающегося списка и нажмите кнопку "Загрузить" .


Подождите и посмотрите, сможете ли вы загрузить свой проект в другом формате.

7. Очистите кеш браузера и файлы cookie.

На вашем компьютере хранятся временные данные, называемые кешем и файлами cookie, которые используются вашим браузером для ускорения своей работы. Хотя эти данные отлично подходят для более быстрой загрузки веб-сайтов, они могут накапливаться со временем и вызывать ошибки, которые могут привести к сбоям в работе вашего браузера.

К счастью, эту проблему можно быстро решить, просто очистив данные браузера.


Это займет пару секунд. секунд, в зависимости от вашего браузера. После этого вернитесь в Canva и попробуйте снова загрузить свой проект, чтобы проверить, устранена ли проблема.

8. Отключите расширения браузера.

Если вы используете расширения браузера, например менеджеры загрузок, отключите их при использовании Canva. Хотя менеджеры загрузки отлично подходят для хранения ваших файлов в порядке, иногда они могут мешать работе веб-сайтов, на которых есть встроенный инструмент загрузки.

Чтобы отключить расширения браузера, выполните следующие действия:

Сначала нажмите ALT + E на клавиатуре, а затем клавишу S , чтобы открыть Настройки в вашем браузере. В разделе Настройки нажмите Расширения в боковом меню. Наконец, отключите все расширения диспетчера загрузок, которые вы используете.


После этого перезапустите браузер. Теперь вернитесь в Canva и попробуйте снова загрузить свой проект, чтобы убедиться, что проблема уже решена.

9. Перейдите на Canva Pro.


Если вы давно используете Canva и не думали о переходе на Canva Pro, вам определенно следует.

Обновление до профессиональной версии предоставит вам доступ к таким функциям, как возможность загружать собственные шрифты и логотипы, сжимать видео / изображения, экспортировать в различные форматы и более 75 миллионов стоковых фотографий, видео и аудио в вашем распоряжении.

Кроме того, вы также получаете круглосуточную поддержку клиентов, которая может быть чрезвычайно полезна, когда у вас возникают проблемы с использованием платформы. Будучи пользователем Pro, вы являетесь их главным приоритетом при решении любых проблем или проблем в их приложении.

Выведите свои проекты на новый уровень, получив Canva Pro сейчас!

Получить Canva Pro

10. Свяжитесь с Canva.

К сожалению, если у вас все еще есть проблемы, лучше всего позволить экспертам разобраться с вашей ситуацией.

Попробуйте связаться со службой поддержки Canva и сообщите им о проблеме с загрузками, которые не работают на Canva. Сообщая о проблеме, не забудьте указать такие важные детали, как устройство, которое вы используете, данные вашей учетной записи и браузер, который вы используете.

На этом мы подошли к концу нашего руководства. Если вы знаете другие способы решения этой проблемы в Canva, сообщите нам об этом в разделе комментариев ниже. Мы будем рады поблагодарить вас за это решение после обновления этой статьи.



Несколько дней назад я предложил позадавать на Хабре интересующие вопросы по Canvas. Под Хабракатом — ответы на 27 вопросов.

1. Зачем нужен Canvas, что это вообще такое, какова поддержка браузерами, какова основная область применения, насколько развиты фреймворки, примеры?

Canvas — низкоуровневое API для отрисовки графики. Поддерживается всеми современными браузерами. Естественно, не поддерживается устаревшими версиями IE (8 и ниже)
Фреймворки развиваются, хотя им ещё нужно повзрослеть. Базовые примеры можно найти на MDC. Более мощные примеры можно поискать на сайтах а-ля Chrome Experiments или в примерах приложений на фреймворках, например LibCanvas

2. Когда нужно использовать Canvas, а когда Flash?



Flash быстрее, кроссбраузернее, с хорошими инструментами и фреймворками.
Canvas сейчас используется, в основном, энтузиастами и экспериментаторами.
Особой причины уходить с рынка флешерам нету.
Но Canvas'ом занимаются такие крупные игроки, как Google, Mozilla, Apple, Microsoft, все они оптимизируют и ускоряют отрисовку Canvas, постепенно отмирают старые браузеры и приходят новые. Посмотрите на Firefox 2.0 и Firefox 4.0. За три года скорость увеличилась на порядок и основной скачок сделан именно с выходом четвёртой версии. Аналогично — Опера. Также, за это время успел появиться Хром и выпустить уже 12 мажорных версий своего браузера. В общем, у HTML5 и Canvas в частности — светлое будущее.

3. Когда использовать Canvas, а когда SVG?

С одной стороны, при использовании Canvas необходимо будет реализовывать то, что уже реализовано в SVG. С другой стороны, в Canvas можно применить такие оптимизации, которые в SVG невозможны, например отрисовка из кеша.

На мобильных телефонах актуально использование CSS3 вместо SVG и Canvas, т.к. оно ускоряется аппаратно и очень плавно работает.

4. Какую литературу почитать?

Рекомендую начать с Mozilla Developers Network, там очень классно и с примерами описаны основы Canvas. После этого придумайте себе задание и постарайтесь его реализовать. API — очень простой, тут главное — опыт.

Есть свежая книжка "HTML5 Canvas" издательства O'Reilly Media. Я не читал, но O'Reilly обычно выпускают классные книжки.

5. Как сделать скриншот Canvas?

Есть небольшая библиотека canvas2image она позволяет сохранять Canvas что на сервер, что на клиент. На клиенте сохранение производится при помощи toDataURL. На сервере получается содержимое при помощи getImageData, транслируется в base64 код и отправляется POST-запросом. На сервере достаточно сделать что-то типа такого кода:

Если «Скриншот канваса === Сохранить канвас как картинку», то:

Важно Вы должны задать фиксированные размеры канваса (через width/height или style), иначе получете плохие данные из toDataURL

6. Интересуют методы улучшения быстродействия (поднятие fps).

Есть разные методы оптимизации, которые зависят от приложения. Три из них я описывал в топике Пятнашки на LibCanvas. Это:
* Обновление холста исключительно при необходимости
* Вместо перерисовки всего холста перерисовывать только изменившиеся куски
* Отрисовка объектов в буфер (что позволяет рисовать объект каждый кадр как набор пикселей, а не применять все фильтры и кучу матана)
Вам очень поможет профайлер в вашем любимом браузере.

7. Работа с видеозахватом

Если вы про захват видео с камеры:
API есть только в черновике спецификации Media Capture API ближайший релиз спецификации возможен в PhoneGap — возможно есть в транке. Работать с ним будет очень просто. Вешается обработчик на «устройство», каждый кадр передается в виде картинки в формате data uri:

8. Каково самое эффективное решение на данный момент для попиксельного доступа при отрисовке произвольного изображения на Canvas (без WebGL)? Например, ручная прорисовка граней при построении 3D с использованием закраски по Гуро/Фонгу.

Для попиксельного доступа есть только одно решение — использовать getImageData

9. Есть ли пути эффективно и кросплатформенно смасштабировать канву со всеми внутренностями под размеры экрана?

Попробуйте использовать css. canvas < width: 100%; height: 100%; >. Как-то так. Но js-код должен учитывать этот кусок, т.к. сместятся координаты.

10. Поддержка и быстродействие на Android/iOS устройствах

Поддерживается полностью. Правда, я на iPhone2 заметил неподдержку fillText, но это единственное.
Проблема с производительностью, но кое-что можно запустить. Пока для мобильников лучше использовать CSS3. Возможно, в будущем, что-то поменяется.

11. Интересует самый быстрый способ нарисовать точку (например, для графика). Однопиксельную и четырёхпиксельную, произвольного цвета.

Самый быстрый с точки зрения производительности — использовать fillRect для одиночных отрисовок и getImageData+putImageData для массовых отрисовок.

Я точно не знаю, как оно делается в biolab. Есть несколько путей. Можно наложить несколько слоёв canvas друг на друга, отрисовать на нижнем мир и отображать нужную часть при помощи CSS.

13. 3d-canvas

14. Редакторы — в чём писать?

Подходит любой редактор JavaScript. Раньше я пользовался Netbeans 7, сейчас перешёл на Jetbrains WebIde

15. База данных

Для хранения данных на стороне клиента есть два современных стандарта — webStorage и IndexedDB.
IndexedDB — это крутой интерфейс с кучей возможностей, описывался на Хабре, а webStorage — простое key-value хранилище

16. Canvas и IE

В IE до девятой версии не поддерживается. Все попытки сделать его поддерживаемыми можно назвать подходящими только для очень узкого круга задач и не дают вменяемой скорости.
Имхо, единственный вариант — это Google Chrome Frame, плагин, который устанавливается на полубраузер как Flash или SilverLight и превращает говно в конфетку Internet Explorer в современный браузер.

17. Как посчитать расстояние между нарисованными объектами, есть ли готовые решения

Зависит от объектов. Некоторые вещи делаются очень просто. Например, расстояние между точками считается по теореме Пифагора. Между кругами — считаем расстояние между точками от отнимаем радиусы. У более сложных фигур есть свои законы.
Кое-что (по крайней мере пересечения ректанглов/кругов/полигонов) уже есть в LibCanvas. Если у вас какие-то особые требования — необходимо искать алгоритмы. Я могу посоветовать вот что:
Известные алгоритмы определения столкновений и реакции на них во флэше.

18. Как и какими средствами лучше делать анимации на Canvas?

19. Работа с текстом в Canvas (в т.ч. анимирование)

Текст отрисовывается при помощи fillText/strokeText. Свои шрифты можно подключать при помощи CSS3.
На него воздействуют все правила — такие как тени, трансформации, установка цветов и т.п. К примеру, с помощью светлой тени на тёмном фоне, можно легко сделать светящийся текст

20. Работа с изображениями.

21. Использование Бэк Буффера, как отрисовать один Canvas в другой.

Вы можете отрисовать какую-либо информацию в скрытый Canvas, который затем использовать точно так же как картинку (смотреть предыдущий пункт).
Буферизация позволяет ускорить отрисовку многократно. Например, отрисовать один градиент из буфера в 5 раз быстрее, чем отрисовать этот же градиент напрямую.
Использовать очень просто:

22. Анимация в канвасе происходит методом полной перерисовки. Таким образом информация обо всех объектах хранится в объекте JS и каждый раз перерисовывается, или можно как то создавать спрайты и слои?

Да, есть различные приёмы. Можно использовать буфера для того, чтобы не отрисовывать десятки мелких объектов, можно перерисовывать холст только частично, но чаще всего дешевле просто всё перерисовать, чем понять, что перерисовывать надо, а что — нет.

23. Хотелось бы узнать как с помощью canvas нарисовать 3д объект(желательно с учетом перспективы) и вращать?

24. Отрисовка SVG в Canvas

Можно при помощи CanVG. Смысла практически нету)

25. Насколько различается поддержка в браузерах или все следуют стандарту?

Различия минимальны. Обнаруживались мелкие баги, легкие несоответствия. Например, Опера не могла отрисовать прямоугольник с отрицательными размерами сторон:

По разному сжимаются и поворачиваются картинки. Например, в Хроме при повороте на углах заметны зубья (нету сглаживания)

Зато он лучше, чем Fx и Opera растягивает картинки:

Есть ещё мелкие различия в JavaScript. Например, в некоторых браузерах sort реализует неустойчивую сортировку, так что, если элементы сортировать по Z-индексу, то элементы с одинаковым Z-индексом будут менятся местами.

Это очень мелкие нюансы. Большинство — скрыто за дружелюбным API фреймворков. Лично я разрабатываю только под один браузер и в большинстве случаев всё работает совершенно корректно и в остальных.

26. putImageData vs drawImage

Буду краток — putImageData значительно медленнее. Более того, с увеличением размеров картинки — увеличивается медлительность.

27. Мне было бы очень интересно послушать про типовые реализации основного функционала canvas-библиотек, таких как: эмуляция слоев, определение активного элемента (на котором в данный момент находится курсор), создание системы управления событиями и т. д.

Этот вопрос задавали мне чаще всего, потому для него — отдельный топик)

Ребята, кто может дать ответы на эти вопросы — прошу в комменты

2. Существуют ли какие-то секретные библиотеки, умеющие рисовать линии переменной толщины. В случае с прямыми это относительно несложно реализовать «костыльным» способом, а вот всякие кривые Безье — видимо, только на низком пиксельном уровне.

3. Существуют ли какие-то секретные библиотеки, умеющие рисовать градиентную раскраску линий. Ну то есть чтобы цвет плавно менялся между узлами вдоль линии, не обязательно прямой. Такая функция есть, например, в OpenGL.

Canva - одна из лучших платформ графического дизайна, которую вы можете использовать прямо сейчас. Он дает вам множество вариантов дизайна, таких как готовые шаблоны, добавление творческого текста на изображения и фильтры, которые изменяют тон и контраст ваших фотографий.

Поскольку они обслуживают множество пользователей. онлайн, Canva старается защитить свою платформу от ошибок, чтобы обеспечить удобную среду для всех своих пользователей. Однако, как и с любым веб-сайтом или приложением, проблемы внутри платформы неизбежны и неизбежны.

Хотя Canva очень активно использует свою учетную запись Twitter, отвечая на запросы своих пользователей, вам все равно неприятно, если вы испытываете проблемы на сайте.

Таким образом, мы решили создать универсальное руководство, в котором подробно описаны известные ошибки в Canva и способы их устранения.

Итак, без лишних слов, приступим!

1. Не удается загрузить на Canva (изображения, видео и т. Д.)? 2. Загрузки не работают на Canva? 3. «Извините, что-то пошло не так (500)» на Canva.4. Canva Slow and Lagging? 5. «Извините, что-то пошло не так (400)» на Canva.6. Не можете войти в Canva? Вот решение! 7. Видео не загружаются на Canva? Fix.8. Код ошибки 403 на Canva.9. Canva не загружается? Попробуйте эти советы 10. Canva не подключается к Facebook? Сделайте это.

1. Не удается загрузить на Canva (изображения, видео и т. Д.)?

В большинстве случаев эта проблема вызвана неправильными конфигурациями, которые пользователи неправильно установили во время работы над проектом. При устранении этой проблемы также следует учитывать другие причины, такие как проблемы с сервером, сторонние приложения и неисправный браузер.

Если вы столкнулись с этой проблемой прямо сейчас, просмотрите наше пошаговое руководство о том, как решить эту проблему.

2. Загрузки не работают на Canva?

Как и в случае с описанной выше проблемой, в Canva возникли проблемы с загрузкой. По сравнению с проблемой, описанной выше, вы можете загружать свои проекты и другие мультимедийные файлы на свой компьютер, но он поврежден или пуст, когда вы пытаетесь открыть изображение или воспроизвести видео.

Во многих случаях проблема вызвана нестабильным подключением к Интернету, при котором загрузка не может быть завершена или повреждается во время процесса. С другой стороны, проблема также может быть связана с расширениями диспетчера загрузок, службами VPN или браузером, который вы используете.

Если загруженный проект не работает на вашем компьютере, перейдите к нашему руководству по решению этой проблемы.

3. "Извините, что-то пошло не так (500)" на Canva.


4. Canva медленно и отстает?

Одно из преимуществ Canva - то, что вы можете получить к нему доступ в любое время с помощью браузера. Поскольку это веб-приложение, оно требует от вас приличного подключения к Интернету и устройства, способного обрабатывать рабочие нагрузки в вашем браузере.

Если Canva работает медленно или не работает прямо в вашем браузере, это может означать, что ваше сетевое соединение нестабильно или ваш компьютер работает медленно. Теперь, чтобы решить эту проблему в вашей системе, перейдите к нашему подробному руководству по этой проблеме и попробуйте предложенные там методы.

5. «Приносим извинения» (400) на Canva.


Код ошибки (400) в Canva действительно раздражает, поскольку он случайным образом всплывает на экране во время работы над вашим проектом. Это означает, что проблема может быть вызвана несколькими факторами, такими как поврежденные данные браузера, нестабильное сетевое соединение, службы VPN или даже серверы Canva.

С другой стороны, вы также можете проверить официальную страницу Canva, чтобы узнать, не связана ли проблема с их серверами.

6. Не можете войти в Canva? Вот решение!

Блокировка аккаунта - худшее, что вы можете испытать на любой платформе. Поскольку все ваши проекты на Canva хранятся в Интернете, вы не сможете добиться каких-либо успехов в этих проектах, если не получите доступ к своей учетной записи.

Если вы относитесь к числу пользователей, которые не могут войти в свою учетную запись Canva, возможно, вам стоит ознакомиться с нашим подробным руководством по этой проблеме. В этом руководстве мы проведем вас через каждый шаг, необходимый для решения этой проблемы в Canva.

Видео, которые буферизуются или не загружаются вообще на любой платформе, указывают на то, что ваше сетевое соединение не работает должным образом. Если ваши видео не загружаются на Canva, попробуйте проверить свою сеть, о чем мы рассказали в нашем руководстве по этой проблеме.

Однако другие факторы, такие как расширения браузера, данные просмотра и службы VPN, также могут влиять на производительность вашего браузера, и их также следует принимать во внимание.

Вы также можете проверить официальную страницу Canva, чтобы убедиться, что их серверы работают должным образом, прежде чем вносить какие-либо изменения в вашу систему.

8. Код ошибки 403 на Canva.


Если в настоящее время на экране отображается код ошибки 403, перейдите к нашему специальному руководству по этой проблеме и попробуйте рекомендуемые решения. Однако, прежде чем что-либо делать, сначала посетите официальную страницу Canva, чтобы узнать, не на их серверах проблема.

9. Canva не загружается? Попробуйте эти советы.

Веб-сайты, которые не загружаются в вашем браузере, - плохой знак. Это может быть признаком того, что ваше сетевое соединение работает медленно. Если Canva не загружается в вашем браузере, вы можете попробовать проверить сетевое соединение.

Однако это не всегда так, и другие проблемы, такие как службы VPN, кеш браузера и серверы Canva, также могут быть причиной того, что платформа не загружается.

10. Canva не подключается к Facebook? Сделайте это.

Хотите подключить свою учетную запись Facebook к Canva, но она не работает? Подключение вашей учетной записи Facebook к Canva даст вам более простой вариант доступа к вашей учетной записи. Кроме того, вы также можете публиковать свои проекты в Facebook прямо на Canva.

Однако, если вы не можете подключить свой аккаунт к Canva, это может быть просто временной ошибкой, которая могла произойти в вашем аккаунте. К счастью, эту проблему можно легко решить, выполнив решения, упомянутые в нашем руководстве.

стандартный способ борьбы с ситуациями, когда браузер не поддерживает HTML5 <canvas> тег должен встраивать некоторый резервный контент, такой как:

но остальная часть страницы остается прежней, что может быть неуместным или вводящим в заблуждение. Я хотел бы каким-то образом обнаружить отсутствие поддержки canvas, чтобы я мог представить остальную часть моей страницы соответственно. Что бы вы порекомендовали?

это техника, используемая в Modernizr и в основном в любой другой библиотеке, которая выполняет работу с холстом:

Так как ваш вопрос был для обнаружения, когда это не поддерживается, я рекомендую использовать его так:

существует два популярных метода обнаружения поддержки canvas в браузерах:

Мэтт!--22--> проверки на наличие getContext , также используется аналогичным образом библиотекой Modernizr:

моя рекомендация является вариацией последнего (см. Дополнительная Информация), по нескольким причинам:

  • каждый известный браузер, поддерживающий canvas, включая IE 9, реализует этот интерфейс;
  • это более лаконично и мгновенно очевидно, что делает код;
  • на getContext подход значительно медленнее во всех браузеры, потому что это включает в себя создание HTML-элемента. Это не идеально, когда вам нужно выжать как можно больше производительности (например, в библиотеке Modernizr).

нет никаких заметных преимуществ для использования первого метода. Оба подхода могут быть сфальсифицированы, но это вряд ли произойдет случайно.

Дополнительная Информация

по-прежнему может потребоваться проверить, что 2D-контекст может быть извлечен. Сообщается, что некоторые мобильные браузеры могут возвращать true для обеих вышеперечисленных проверок, но return null на .getContext('2d') . Вот почему Modernizr также проверяет результат .getContext('2d') . Тем не менее, WebIDL & HTML ― снова ― дает нам другое лучшее,быстрее:

обратите внимание, что мы можем полностью пропустить проверку элемента canvas и перейти прямо к проверке поддержки 2D-рендеринга. The CanvasRenderingContext2D интерфейс также является частью спецификации HTML.

вы должны использовать getContext подход для обнаружения WebGL поддержка, потому что, хотя браузер может поддерживать WebGLRenderingContext , getContext() может возвратить null если браузер не может взаимодействовать с GPU из-за проблем с драйверами и отсутствует реализация программного обеспечения. В этом случае проверка интерфейса сначала позволяет пропустить проверку на getContext :

Сравнение Производительности

производительность getContext подход 85-90% медленнее в Firefox 11 и Opera 11 и около 55% медленнее в Chromium 18.

Simple comparison table, click to run a test in your browser

Я обычно запускаю проверку для getContext когда я создаю свой объект Canvas.

если он поддерживается, вы можете продолжить настройку холста и добавить его в DOM. Это простой пример Постепенное Повышение, который я (лично) предпочитаю изящной деградации.

Почему бы не попробовать modernizr ? Это библиотека JS, которая обеспечивает возможность обнаружения.

вы когда-нибудь хотели сделать if-операторы в вашем CSS для наличие интересных функций, таких как радиус границы? Ну, с Modernizr вы можете достичь именно этого!

Читайте также: