如何禁用_moz_resizing?

Shr*_*hna 8 javascript css firefox resize

我正在使用nicEdit编辑器,我已经添加了自己的自定义图像大小调整脚本.但我想禁用Firefox中出现的默认_moz_resizing.

我希望能够更好地控制调整大小的图像.(例如:仅允许图像调整大小并继承父容器的宽度.)

所以我写了一个自定义脚本.但是,由于Firefox有自己的图像大小调整控件(_moz_resizing),我如何禁用它?如果没有办法,我有一个非常简单的解决方法,我检测Firefox是否关闭我的自定义脚本并使用_moz_resizing.

但我不会有细粒度的控制,我将不得不依赖Firefox中的浏览器错误.:(

Chr*_*sen 24

在Firefox中,可以使用enableObjectResizing命令禁用本机映像大小调整控件.必须在将designMode设置为"on"后执行此命令.

document.designMode = "on";
document.execCommand('enableObjectResizing', false, 'false');
Run Code Online (Sandbox Code Playgroud)

禁用本机调整大小控件后,您将看不到_moz_resizing属性.它显示为本机控件的副作用,但属性的存在或值不会直接影响控件本身.其唯一目的是在重新调整大小的元素周围触发细黑色轮廓.

大多数浏览器内的富文本编辑器都使用iframe来显示其内容.如果此iframe的CSS位置发生更改(例如,从静态更改为绝对),则将撤消enableObjectResizing命令的效果.可以重复该命令以再次关闭本机控件.这是非常令人困惑的,因为没有迹象表明情况确实如此,但确实如此.如果enableObjectResizing不适合您,请确保设置任何CSS位置值后进行设置.

另请注意,"enableObjectResizing"命令将影响图像和绝对定位元素的缩放器(如果在可编辑内容区域中存在任何此类元素).

我准备了一个最小的测试页面,说明了这个例子.


Dre*_*ter 1

您可以通过转到 Firefox 中的 about:config 来禁用此功能 - 更改browser.enable_automatic_image_resizing为 false。