Comments 57
А как же быть с IE? Ведь вероятность появления ошибки (я про верстку в частности) в нем на много больше чем в других браузерах.
Ну это всего лишь мысли о возможности создания как таковых скриншотов таким образом :)
Сопутствующих проблем там много, начиная от того что JavaScript мог поломаться вообще весь и это не будет работать вообще, заканчивая тем что иногда даже в хроме скриншот не полностью соотвествует странице. Т.е. это все нужно допиливать.
Сопутствующих проблем там много, начиная от того что JavaScript мог поломаться вообще весь и это не будет работать вообще, заканчивая тем что иногда даже в хроме скриншот не полностью соотвествует странице. Т.е. это все нужно допиливать.
Ну вроде на сайте написано
Browser compatibility
The script should work fine on the following browsers:
Browser compatibility
The script should work fine on the following browsers:
- Firefox 3.5+
- Google Chrome
- Newer versions of Opera
- >=IE9 (Older versions compatible with the use of flashcanvas)
>=IE9 (Older versions compatible with the use of flashcanvas)
а как быть с <
а как быть с <
как бы тоже написано use flashcanvas
Ну вроде через flashcanvas можно, сам я не пробовал сейчас нету таких браузеров под рукой.
Закопать. Или FF
FIX: или FF < 3.5 вы тоже поддерживаете?
А людей исользующих ie<9 тоже закопать? я понимаю можно как то забить на 6 но на 7 и 8 еще немного рановато забивать
Ну все зависит от сферы применения, к примеру если пишется какая-нибудь интранет система для конкретной компании, то там обычно можно договорится о использовании только о новых браузерах. Причем заказчики в 99% случаев не против т.к. html5+css3 дают намного больше возможностей для красивостей и т.д.
А если это для интранет системы более-менее крупной компании, то там IE7-IE8 очень даже корпоративный стандарт :(
Корпоративный стандарт устанавливает компания. Если для работы юзерам надо держать последний фф — то они будут его держать. Им по большому счету все-равно, какой у них там браузер открыт, лишь бы работало.
Да и на практике если со стороны разработчика сам разработчик или просто грамотный менеджер, а стороны заказчика вменяемый человек, то всегда можно объяснить что лучше и почему. На моей памяти всякие «корпоративные стандарты IE 5.5+» прописывались ничего не понимающими менеджерами тупо по шаблону.
Пробовал эту библиотеку, но сделать совместимой ее с IE<9, так и не вышло(сохранять картинки), так как в flashcanvas не очень хорошо работает метод canvas.toDataURL. Но я думаю если повозиться, то можно было все-таки закостылить. Мне тогда повезло, заказчик согласился не делать функционал для IE<9.
А js-ный excanvas умеет toDataURL?
Не понял вашего вопроса, но если вы спрашиваете про стандартный объект canvas, то да, есть метод toDataURL. Вот здесь developer.mozilla.org/en/DOM/HTMLCanvasElement, можно почитать какие есть методы.
[sarcasm]Ой, спасибо! Как же я без вас нашёл бы MDN?[sarcasm]
Я про альтернативу flashcanvas: code.google.com/p/explorercanvas/
Я про альтернативу flashcanvas: code.google.com/p/explorercanvas/
Если посмотреть в пример разработчиков: html2canvas.hertzen.com/screenshots.html
То там будет ранняя версия этой штуки, там они пытаются использоваться flashcanvas.
Но судя по тому что в IE 8 оно не работает, нужно как минимум все допиливать.
То там будет ранняя версия этой штуки, там они пытаются использоваться flashcanvas.
Но судя по тому что в IE 8 оно не работает, нужно как минимум все допиливать.
Я же говорю не понял вашего вопроса.) Да рассматривал вариант code.google.com/p/explorercanvas/. Но он не имеет этого метода, он вообщем делает прорисовку используя объект VML, который я как понимаю нельзя сохранить в картинку.
Вот бы возможность сделать снимок экрана (пусть, с задержкой) любого окна на компьютере…
Вот эту конструкцию:
Это экономит время при наборе кода и даже при чтении, хотя, казалось бы, .ready() красноречивее.
$(document).ready(function(){
…
});
можно значительно упростить:$(function(){
…
});
Это экономит время при наборе кода и даже при чтении, хотя, казалось бы, .ready() красноречивее.
Да вы, батенька,
— во-первых, капитаните, поскольку любой человек, имевший дело с jquery, в курсе;
— во-вторых, ерничаете, поскольку конструкция нисколько не упрощается (тем более значительно);
— а в третьих, еще и неправы — ведь незнакомому с фреймворком человеку document.ready понятнее, чем какой-то значок доллара.
— во-первых, капитаните, поскольку любой человек, имевший дело с jquery, в курсе;
— во-вторых, ерничаете, поскольку конструкция нисколько не упрощается (тем более значительно);
— а в третьих, еще и неправы — ведь незнакомому с фреймворком человеку document.ready понятнее, чем какой-то значок доллара.
немного поучаствую в беседе:
1. раз автор так написал, значит не все знают и ваше высказывание неверно
2. лично я тоже так пишу и считаю что так короче и изящнее
3. ну тут спорить не о чем, да, это так, но лично я не вижу в этом проблемы (тем более можно написать комментарий для таких людей, это будет правильнее)
1. раз автор так написал, значит не все знают и ваше высказывание неверно
2. лично я тоже так пишу и считаю что так короче и изящнее
3. ну тут спорить не о чем, да, это так, но лично я не вижу в этом проблемы (тем более можно написать комментарий для таких людей, это будет правильнее)
Ммм, по первому пункту не соглашусь. Знать и использовать — все же разные вещи, правильно? :) Автор ниже отписался, что написание через .ready — сугубо дело привычки.
По второму — лично мне тоже удобнее написать $(function() {}), но называть такой вид «значительным упрощением» некорректно, что я и указал.
По второму — лично мне тоже удобнее написать $(function() {}), но называть такой вид «значительным упрощением» некорректно, что я и указал.
>> 3. ...(тем более можно написать комментарий для таких людей, это будет правильнее)…
Например такой? :)
// $(callback) = $(document).ready(callback)
$(function(){
…
});
Например такой? :)
// $(callback) = $(document).ready(callback)
$(function(){
…
});
На красивость и правильность кода я тут не претендую :)
Хотя как-то привык писать через .ready
Впрочем если быть совсем точным то и ".live('click'," тут совершенно ни к чему, можно через .bind
Хотя как-то привык писать через .ready
Впрочем если быть совсем точным то и ".live('click'," тут совершенно ни к чему, можно через .bind
Только нафига тут jQuery?
UFO just landed and posted this here
UFO just landed and posted this here
Выполняй невыполнимое, допускай недопустимое,
ROW ROW FIGHT DA POWAH!
ROW ROW FIGHT DA POWAH!
Как они это реализовали не пойму… Ребята мегамозги какие-то
Они используют очевидное решение в лоб: перебрать все элементы в DOM и отрисовать их на canvas.
Но ребята молодцы, безусловно, работы много проделано.
У меня в Опере не заработало, показывает белый экран вместо скриншота. Хотя идея хорошая.
Да, «замаркапить» страницу в последней опере не получилось, но линки работают http://markup.io/v/gqfyyfnrzxxq
Не забываем что наличие в на странице любой картинки с другого origin и без особого разрешения — просто выключит этот скрипт.
В общем нельзя сканы чужих документов себе на сервер слать.
В общем нельзя сканы чужих документов себе на сервер слать.
setTimeout("makeIT()", 1000)
Ну зачем передавать строку, скажите? ЗАЧЕМ?
setTimeout(makeIT, 1000)
Пару лет назад, была необходимость создавать скриншоты при сообщении о багах для одной довольно навороченной «интранеты». В итоге сошлись на использовании Java апплета с new Robot ();
Полная кроссбраузерность. Но для обычных сайтов этот метод не подойдёт. Мало кто из посетителей решится отправить снимок всего экрана (не только браузера) куда-то.
Полная кроссбраузерность. Но для обычных сайтов этот метод не подойдёт. Мало кто из посетителей решится отправить снимок всего экрана (не только браузера) куда-то.
UFO just landed and posted this here
а можно ли в html2canvas задавать координаты откуда делать скриншот?
Sign up to leave a comment.
Мысли о скриншотах через JavaScript