знает кто-либо как должен выглядеть ajax запрос в icms2 что бы получить ширину загруженного изображения?
ага, ага ))), тока через некоторое время(пока опять взад не закачает изображение),
Размеры изображения в браузере выясняются посредством Javascript.
и полно некорректностей в разных бравзерах....
т.е. вы хотите сказать что icms2 это не предусмотренно ?,
тогда может скажите какой файл отвечает за загрузку изображений
Значит вы делаете некорректно.тока через некоторое время, и полно некорректностей
Что непредусмотрено? Ваша задача? Вероятно да.т.е. вы хотите сказать что icms2 это не предусмотренно ?
Контроллер images.тогда может скажите какой файл отвечает за загрузку изображений
Вы вопрос сформулируйте понятней. Размеры изображения в браузере получаются ТОЛЬКО средствами Javascript, либо берутся из заранее приготовленных атрибутов тега. Делать запрос к серверу чтобы узнать размер изображения это мягко говоря неправильно.
а можно просто файл, который можно поправить на предмет обработки вопроса про размер?
Контроллер images.
ну это мягко говоря тож не правда :)Размеры изображения в браузере получаются ТОЛЬКО средствами Javascript
Вы вопрос сформулируйте понятней
var s = e.content.replace(/\<img src=\"(.+)\" alt.+\>/i,'$1'); console.log('SRC: '+s); var img = new Image(); img.src = s; img.onload = function() { console.log('img-width: '+img.width); if (img.width > 450){ e.content = '<a class="ajax-modal modal_image hover_image" href="' + s + '">' + e.content + '</a>'; } } }
а условие if (img.width > 450){ — выполняется сразу-же
ставить таймауты тоже както не по нашему :)
подскажите тогда пожалуйста как пофиксить эти пять строк? :)
Нет. После загрузки изображения, поскольку onloadа условие if (img.width > 450){ — выполняется сразу-же
var s = e.content.replace(/\<img src=\"(.+)\" alt.+\>/i,'$1'); var img = new Image(); img.onload = function() { if (this.width > 450){ e.content = '<a class="ajax-modal modal_image hover_image" href="' + s + '">' + e.content + '</a>'; } }; img.src = s;
вот как щаз
Нет. После загрузки изображения, поскольку onload
var w = 777; var img = new Image(); img.onload = function() { w = this.width; console.log('pre-width: ' + w); if (this.width > 450){ e.content = '<a class="ajax-modal modal_image hover_image" href="' + s + '">' + e.content + '</a>'; } }; img.src = s; console.log('past-width: ' + w);
полный код это setup:… в tinymce
Значит как-то не так оборачиваете, полый код вы не привели. Но я бы оборачивал элементы через wrap.
после переноса img.src = s; в конец "оборачивание" вообще перестало работать,
даже не исполняется img.onload = function() ,
а когда img.src "раньше" стоит всё прекрасно оборачивается
коли нет icms ajax функций на эту тему, мошть кто подскажет как сделать "триггер" полной закачки?
$('img').each(function (){ var _this = this; var src = $(this).attr('src'); var img = new Image(); img.onload = function() { if (this.width > 450){ $(_this).wrap('<a class="ajax-modal modal_image hover_image" href="' + src + '"></a>'); } }; img.src = src; });
Вы неправы.а когда img.src "раньше" стоит всё прекрасно оборачивается
Надеюсь вы сейчас шутите.ну да, как я изначально и говорил, "условие" исполняется раньше чем появляется информация о ширине(пока не скачается взад весь рисунок)
коли нет icms ajax функций на эту тему, мошть кто подскажет как сделать "триггер" полной закачки ?
----------------
Ответ по сабжу я дал более чем развёрнуто.
да не, не шучу, видимо дело в том что tinymce как то по своему обрабатывает событие "BeforeSetContent"
Вы неправы.
......
Надеюсь вы сейчас шутите.
и по дебагу chrome я своими глазами вижу, что значение размера изображения появляется не "в то время".
Ваш код не подойдет по причине того, что tiny не формирует "объекты" и "id" картинок на этапе "BeforeSetContent"
зря вы так, у меня не было желания вас оскорбить...----------------
Ответ по сабжу я дал более чем развёрнуто.
а вот вопросов не уменьшилось
Может всё же кто-нить подскажет в каком файле можно тупо всем входящим в icms картинкам
навешивать тег <a class="ajax-modal в зависимости от размера? ну или альтернативные способы получения размеров(коль ajax-табу)
ну так создайте свой JS с кодом Fuze и подключите там где вам надо.в каком файле можно тупо всем входящим в icms картинкам
навешивать тег <a class="ajax-modal
надо мне, что бы коробочный tinymce сохраняя весь свой функционал(редактирования картинок)ну так создайте свой JS с кодом Fuze и подключите там где вам надо.
оборачивал большие рисунки в "модальное окно".
Соответственно я и выдумываю свой скрипт, и он практически работает…
Загвоздка именно в автоматизме от размеров,
код Fuze не вставится потому, что НЕТ там "объекта рисунок" пока он(рисунок) не попал в редактор ..."BeforeSetContent"
Если делать по другим событиям то ломается функционал tinymce…
Я конечно мошть чего та и не понимаю, но бьюсь с этим(tinymce) уже две недели…
и просто "подключите там где вам надо" у меня не катит...,
мошть подскажите куда надо? :)
сделал по другому событию… вроде ожило :)