@alexnotonfire

Почему HTML 5 особенность canvas не работает в Internet Explorer?

У меня есть картинка, которая хорошо отображена в канвасе в Google Chrome и Mozilla Firefox, но не отображается в Internet Explorer 10. Почему это так и как исправить это?

Вот мой Codepen.
  • Вопрос задан
  • 1564 просмотра
Пригласить эксперта
Ответы на вопрос 5
@GloomySpodgeBob
Ничего особенного , просто начинающий фронт енд.
Почему это так происходит))) Потому что это IE! Даже в новых версиях ничего нихрена неработает.
IE не реализовал в последней версии даже половину html5 тегов.
Можешь посмотреть тут html5accessibility.com
И еще Internet Explorer поддерживает только с библиотекой explorercanvas
Ответ написан
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Ну вообще код не ахти и работает в нормальных браузерах по случайному совпадению. Совершенно не гарантируется, что на window.onload картинка, созданная динамически, будет загружена.

Вот так надо бы:
window.onload = draw;

function draw() {
    var canvas = document.getElementById("canvas");
    var ctx = canvas.getContext('2d');

    var hills = new Image();
    hills.src = 'http://7-themes.com/data_images/out/73/7022406-forest-background.jpg';
    
    canvas.setAttribute('width', window.innerWidth);
    canvas.setAttribute('height', window.innerHeight);
    
    hills.onload = function () { // теперь, когда картинка загрузилась, можно и нарисовать
        ctx.drawImage(hills, 0, 0, canvas.width, canvas.height);
    }
}
Ответ написан
Жесть, я бы на вашем месте не парился. Проверяйте пользователя, если он сидит с ie перенаправляйте его на на страницу скачивания нормального браузера. У меня несколько проектов с таким поворотом

<!--[if IE 7]><script>window.location.href = "https://www.google.ru/chrome/browser/desktop/";</script><![endif]-->


Или вот еще библиотека
ruseller.com/lessons.php?rub=37&id=1951
Ответ написан
zooks
@zooks
Frontend
caniuse.com/#search=canvas
Вообще непонятно зачем здесь нужен Canvas.
Ответ написан
Комментировать
wapapiger
@wapapiger
Все по тому что експорер это жуть жуткая, и есть особенность что одна и таже версия експлорера может поддерживать на одном компе а на другом не поддерживать. Это изза сервис пака
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы