Можем ли мы использовать canvas.toDataURL в IE7 и IE8? - PullRequest
0 голосов
/ 04 октября 2011

Я использую toDataURL() метод объекта canvas.Работает на IE9 и Chrome.Но он не поддерживает IE7 и IE8.Я нашел эту ссылку

https://github.com/sampula/SVG.toDataURL/commit/9b59af148b7f14d41974cf318eed6f84c8c91062

Она расширяет SVG для использования toDataURL().Но в своей реализации он снова использует canvas.toDataURL().Я использую API Google (jquery.flot.js) для построения графиков всех графиков.Но он также использует холст для построения графика.Итак, SVG не вариант.

Я когда-либо мог использовать canvas.toDataURL() или что-то подобное для IE7 и IE8.

Заранее спасибо

Ответы [ 2 ]

3 голосов
/ 04 октября 2011

IE7 / 8 не поддерживает Canvas или SVG.

Тем не менее, он поддерживает VML, векторный язык, похожий на SVG, и существует ряд хаков на основе javascript для IE, использующих его.Функциональность VML для эмуляции как Canvas, так и SVG в этом старом браузере.

Самый известный взлом IE-Canvas: http://code.google.com/p/explorercanvas/

Я сам не тратил много времени на негопоэтому я не могу поручиться за то, что он может выполнять определенные функции, такие как toDataURL() метод, о котором вы спрашиваете, но если вы не можете сделать это с этим, то вряд ли это вообще возможно.

Я упоминал, что есть аналогичные инструменты и для VML-> SVG.Если это вас интересует, вы можете посмотреть на это: http://code.google.com/p/svg2vml/

Имейте в виду, что независимо от того, насколько умны эти хаки, всегда есть фундаментальная проблема производительности.Интерпретатор javascript в IE7 / 8 очень медленный по современным стандартам, и это инструменты на основе javascript, пытающиеся внедрить в этот старый браузер очень современные функциональные возможности.Они могут хорошо работать, но не пытайтесь делать что-то слишком умное с вашим canvas или SVG, иначе вы убьете браузер.

Наконец, поскольку вы упомянули, что используете все это для рисования графиковЯ укажу на графический модуль библиотеки Рафаэля.Raphael - это библиотека, которая рисует графику SVG во всех браузерах (возвращаясь к VML для IE).Модуль построения графиков предоставляет все обычные типы графиков, заключенные в чрезвычайно простой в использовании API JavaScript.И он полностью совместим с различными браузерами - он работает во всех настольных браузерах из коробки от последних версий Chrome и Firefox вплоть до IE6.Если вы боретесь с кросс-браузерной совместимостью с инструментами, которые вы используете сейчас, вы можете переключиться на эту библиотеку.

Надеюсь, это поможет.

2 голосов
/ 04 октября 2011

Я недавно создал приложение, в котором мне пришлось использовать toDataURL (), но я не смог найти никакого способа сделать это в IE7 / 8. Моим приложением был онлайн-редактор изображений, в котором пользователь мог сохранять содержимое холста. Я считаю, что мы не можем использовать этот метод в IE7 / 8.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...