Как я могу отключить _moz_resizing? - PullRequest
8 голосов
/ 25 мая 2010

Я использую редактор nicEdit, и я добавил в него свой собственный скрипт для изменения размера изображения. Но я хочу отключить _moz_resizing по умолчанию, который появляется в Firefox.

Я хотел лучше контролировать размер изменяемого изображения. (Например: разрешить только размер изображения, чтобы изменить размер и наследовать ширину родительского контейнера.)

Итак, я написал собственный скрипт. Но так как Firefox имеет свой собственный элемент управления изменением размера изображения (_moz_resizing), как его отключить? Если нет никакого способа сделать это, у меня есть очень простой обходной путь, где я обнаруживаю Firefox и выключаю свой пользовательский скрипт и использую вместо него _moz_resizing.

Но у меня не будет детального контроля, и мне придется полагаться на ошибки браузера в Firefox. (

Ответы [ 2 ]

24 голосов
/ 13 октября 2010

В Firefox собственные элементы управления изменением размера изображения можно отключить с помощью команды enableObjectResizing . Эта команда должна быть выполнена после того, как designMode был установлен в «on».

document.designMode = "on";
document.execCommand('enableObjectResizing', false, 'false');

Как только собственные элементы управления изменением размера отключены, вы не должны видеть появления атрибута _moz_resizing. Это проявляется как побочный эффект нативных элементов управления, но наличие или значение атрибута напрямую не влияет на сами элементы управления. Его единственная цель - вызвать тонкий черный контур вокруг изменяемого размера элемента.

Большинство редакторов форматированного текста в браузере используют iframe для отображения своего контента. Если позиция CSS этого iframe изменится (скажем, со статического на абсолютный), это отменит действие команды enableObjectResizing. Команду можно повторить, чтобы снова выключить родные элементы управления. Это очень сбивает с толку, так как нет никаких признаков того, что это должно быть так, но это так. Если enableObjectResizing не работает для вас, убедитесь, что вы устанавливаете его после , когда вы устанавливаете любые значения позиции CSS.

Также обратите внимание, что команда «enableObjectResizing» повлияет на изменение размера изображений и абсолютно позиционированных элементов, если таковые имеются в области редактируемого содержимого.

Я подготовил минимальную тестовую страницу , иллюстрирующую рабочий пример этого.

1 голос
/ 27 мая 2010

Вы можете отключить это, перейдя в about: config в Firefox - измените browser.enable_automatic_image_resizing на false.

...