Нужен совет по реализации.
Дано: Drupal, Bueditor, материал (который добавляют зарегистрированные пользователи).
Задача: не дать пользователю разорвать сайт.
Решение:
Конструкция размещения изображений в материале следующая:
в стилях просто прописал:
учитывая, что 6 ИЕ и его предки этого не поймут в отдельный css,
который подгружается исключительно для ИЕ вставил:
В итоге если пользователь вставил изображение большее по ширине чем 500px, оно ресайзится средствами браузера, если меньше 500 то отображается как есть…
Я правильно сделал или есть более удобное и грамотное решение данной задачи?
Спасибо…
АПдейт
Повторюсь загрузка на сервер и пост обработка изображения на нем не подходит, в реализации этого не вижу ничего сложного.
К слову на хабре никакой защиты от дурака с желанием вставить изображение 2500х2500px тоже не наблюдается, ну если только механизм саморегулирования.
Да, приведенное выше решение имеет кучу минусов как то: картинка ресайзится браузером криво, пользователь грузит весь файл целиком хоть он и по видимой ширине 500pх и тд.
Но… все эти минусы так же присутствуют если данный код не предусмотреть + к ним прибавляется разрыв сайта.
Вот как то так…
Дано: Drupal, Bueditor, материал (который добавляют зарегистрированные пользователи).
Каждый пользователь, что бы его материал лучше смотрелся хочет добавить в пост картинку, но возможности загрузки на сайт изображений нет, есть вариант только размещения иллюстраций, которые находятся в сети. Соответственно пользователь просто кидает урл, который прописывается автоматом тегу IMG. Всё бы ничего, но пользователь может найти файл разрешением 2500х2500px и легко его вставить, тем самым, в прямом смысле слова разорвать сайт на части.
Задача: не дать пользователю разорвать сайт.
Решение:
Конструкция размещения изображений в материале следующая:
«div class="content"» «img src="LINK"» «/div»
в стилях просто прописал:
div.content img {max-width:500px;}
учитывая, что 6 ИЕ и его предки этого не поймут в отдельный css,
который подгружается исключительно для ИЕ вставил:
div.content img { width: expression(this.offsetWidth < 500 ? "auto" : 500); }
В итоге если пользователь вставил изображение большее по ширине чем 500px, оно ресайзится средствами браузера, если меньше 500 то отображается как есть…
Я правильно сделал или есть более удобное и грамотное решение данной задачи?
Спасибо…
АПдейт
Повторюсь загрузка на сервер и пост обработка изображения на нем не подходит, в реализации этого не вижу ничего сложного.
К слову на хабре никакой защиты от дурака с желанием вставить изображение 2500х2500px тоже не наблюдается, ну если только механизм саморегулирования.
Да, приведенное выше решение имеет кучу минусов как то: картинка ресайзится браузером криво, пользователь грузит весь файл целиком хоть он и по видимой ширине 500pх и тд.
Но… все эти минусы так же присутствуют если данный код не предусмотреть + к ним прибавляется разрыв сайта.
Вот как то так…