В chrome, скрипт сработал даже в версии 42.0.2311.90 jsfiddle.net/541sbywh, а вот в IE досадно, если даже запретить выделение, операция возвращает true. А так можно было бы сделать для пользователей, у которых не сработал этот метод, предложить скопировать вручную.
Таже проблема, что и в первом варианте, собственно это и есть модификация первого варианта просто по другому задается URL для image. jsfiddle.net/a9ude9p0/12
Забавно, IE предлагает формат сохранения, а вот хром нет. Но ведь хочется пользователю дать возможность сделать это наиболее простым способом, просто нажатием на ссылку «Сохранить».
Очень неожиданно, я бы в первую очередь посмотрел бы в сторону phantomjs.org/ или slimerjs.org/. Но с ними я не уверен в стабильности. Но здесь конечно всё зависит от задачи.
Да, но у серверного решения есть большой недостаток, не всегда возможно поднять тот или иной стек технологий. Кстати как вы делали рендер на севере? Что использовали?
livereload.com/ — а такое решение не устраивает? Или я что-то не так понял?
Нет чуть другое. Просто попбробуйте. Это нужно просто увидеть. У basisjs, очень хорошее разделении на данных и представления.
Как и любой другой фреймворк, собственно.
По опыту скажу, что не все. Иногда с ростом приложения, вам придется «бороться» с фрэймворком, а не только со сложностью вашего приложения.
Можно поинтересоваться, какие инструменты в этом фреймворке уникальны?
Уникальны не инструменты, а то что у вас из коробки есть экоситема для разработки на basisjs. Нет необходимости искать, нужный вам инструмент.
Это не достоинство фреймворка, это достоинство модульной системы.
Достоинство, как реализованна это модульность. И какие концепты заложены в архитектуру.
О недостатках. Мало реальных примеров и гайдов. Но как видим ситуация улучшается.
Порог вхождения, я бы не назвал низким. Подходы в разработке, отличаются от имеющихся сейчас популярных фреймворков(это мое мнение). Маленькое комьюнити или вообще его отсутсвие. Я бы не рекомендовал, начинать проект на basisjs, если вы не очень опытный разработчик.
Я кстати, никаким боком не отношусь к созданию или разработке фрэймворка. Говорю со стороны пользователя.
Уникальность фреймворка, он очень высоко производительный. Он граматно работает с DOM, возможно лучшая реализация, какую-либо я втречал. C ExtJS имеет общее только тем, что в своей основе использует компонентный подход(что-то подобное на дерективы из «ангуляра» или web components). У ExtJS, есть большой недостаток он плохо кастомизируется. Хотя существует много и других недостатков, но это бы назвал основным.
Basisjs Уникален своими инструментами, написанными на привычном для фронтеенд разработчика стеке. В инструментах есть почти все, что вам может понадобиться. Есть киллер фича лайв редактирование.
Фреймворк, очень хорошо подходит для больших проектов. Он заставляет писать вас быстрый код. Модульная система позволит вам переиспользовать ваш код без боли, даже в другом проекте.
Есть и недостатки, но я не буду о них упоминать.)
Я советую, Вам познакомиться ближе с фреймворком, попробуйте его. Из описания действительно не видно его крутости.
Я думаю, Роман раскроет в следующих статьях все прелести basisjs.
Вообще молодцы ребята, что продолжают развивать проект, а не зарыли его внутри компании, и пытаются поделиться большим опытом разработки действительно сложных фронтенд систем.
Вы меня не правильно поняли. В Вашем примере width="3.75em" height="20em" viewBox="0 0 30 160" enable-background="new 0 0 30 160", попробуйте width="3.75em" height="20em" viewBox="0 0 3.75 20" enable-background="new 0 0 3.75 20". Я сам не проверял, мне тоже интересен результат.
Все верно, видимо, как раз на эту площадь тратится память. Дело в том, что если задать размер задаваемый в px маленьким мы ограничим возможность масштабировать SVG. И конечно такой размер я выбрал, так как столкнулся с проблемой именно на большом холсте. А большой холст рисуют, чтобы потом можно было добавлять новые иконки. Хотя в этой статье www.broken-links.com/2012/08/14/better-svg-sprites-with-fragment-identifiers/
приведен метод, как можно достать нужный элемент из спрайта, не прибегая к расчету. Своим постом я хотел предостеречь разработчиков от возможной ошибки не верно применить SVG для бэкграунда.
Не в chromium-based, я не проверял. Размер выделяемой памяти, может зависеть от вашего разрешения. Сегодня вечером, сделаю замеры в других браузерах. Но теоретически, потребление памяти должно возрасти в любом браузере.
Видимо, Вы, не верно поняли мою мысль. Я хотел сказать, что модель «хищник-жертва», не является чистой динамикой и эта модель строиться из простых начальных условий, которые в итоги дают сложную систему.
Нет не модель «Хищник-Жертва». К примеру возьмом популяцию кроликов. Если взять что они живут на бесконечной теретории и рождаемость равна смерности, и ресурсы не ограничены, то мы получим устойчивую ситему(для формулы это будет R=2). Если же ограничить тереторию и ресурсы, вести к примеру также хищников, коффициент R измениться, и мы получим совсем другую систему, которая в зависимости от параметров будет вести себя совсем по другому, что и происходит в живой природе.
А я не говорил, что не стоило упоминать игру «жизнь». Просто популяция, очень хороший пример, который привязан к окружающему нас миру. Мне лично, всегда не хватало в курсе математики в университете, примеров из реального мира(они дают первоначальную осмысленность понятия о котором идет речь, и так же показывает, где это можно применить). Ведь сложно понять суть некоторых вещей, если их нельзя построить в своем воображении, создать приемлемую абстракцию.
basisjs.com/basisjs/test/speed/tree.html Это конечно синтетические примеры, но хоть что-то.
Нет чуть другое. Просто попбробуйте. Это нужно просто увидеть. У basisjs, очень хорошее разделении на данных и представления.
По опыту скажу, что не все. Иногда с ростом приложения, вам придется «бороться» с фрэймворком, а не только со сложностью вашего приложения.
Уникальны не инструменты, а то что у вас из коробки есть экоситема для разработки на basisjs. Нет необходимости искать, нужный вам инструмент.
Достоинство, как реализованна это модульность. И какие концепты заложены в архитектуру.
О недостатках. Мало реальных примеров и гайдов. Но как видим ситуация улучшается.
Порог вхождения, я бы не назвал низким. Подходы в разработке, отличаются от имеющихся сейчас популярных фреймворков(это мое мнение). Маленькое комьюнити или вообще его отсутсвие. Я бы не рекомендовал, начинать проект на basisjs, если вы не очень опытный разработчик.
Я кстати, никаким боком не отношусь к созданию или разработке фрэймворка. Говорю со стороны пользователя.
Basisjs Уникален своими инструментами, написанными на привычном для фронтеенд разработчика стеке. В инструментах есть почти все, что вам может понадобиться. Есть киллер фича лайв редактирование.
Фреймворк, очень хорошо подходит для больших проектов. Он заставляет писать вас быстрый код. Модульная система позволит вам переиспользовать ваш код без боли, даже в другом проекте.
Есть и недостатки, но я не буду о них упоминать.)
Я советую, Вам познакомиться ближе с фреймворком, попробуйте его. Из описания действительно не видно его крутости.
Я думаю, Роман раскроет в следующих статьях все прелести basisjs.
Вообще молодцы ребята, что продолжают развивать проект, а не зарыли его внутри компании, и пытаются поделиться большим опытом разработки действительно сложных фронтенд систем.
width="3.75em" height="20em" viewBox="0 0 30 160" enable-background="new 0 0 30 160"
, попробуйтеwidth="3.75em" height="20em" viewBox="0 0 3.75 20" enable-background="new 0 0 3.75 20"
. Я сам не проверял, мне тоже интересен результат.приведен метод, как можно достать нужный элемент из спрайта, не прибегая к расчету. Своим постом я хотел предостеречь разработчиков от возможной ошибки не верно применить SVG для бэкграунда.