我在 html 中静态定义了一个带有宽度和高度的画布元素。如果我尝试使用 JavaScript 动态调整其大小(设置新的宽度和高度 - 在画布的属性上或通过样式属性),我在 Firefox 中收到以下错误:
未捕获的异常:[异常...“对WrappedNative原型对象进行非法操作”nsresult:“0x8057000c(NS_ERROR_XPC_BAD_OP_ON_WN_PROTO)”位置:“JS框架::file:///home/russh/Desktop/test.html::onclick::第 1 行”数据:无]
是否可以调整此元素的大小,或者我是否必须销毁它并动态创建一个新元素?
你没有发布你的代码,我怀疑你做错了什么。可以通过使用数字分配宽度和高度属性来更改大小:
canvasNode.width = 200; // in pixels
canvasNode.height = 100; // in pixels
至少它对我有用。确保您没有分配字符串(例如“2cm”、“3in”或“2.5px”),并且不要弄乱样式。
实际上这是一个公开的知识——你可以在HTML 画布规范——它很小,但信息量却异常丰富。这是整个 DOM 界面:
interface HTMLCanvasElement : HTMLElement {
attribute unsigned long width;
attribute unsigned long height;
DOMString toDataURL();
DOMString toDataURL(in DOMString type, [Variadic] in any args);
DOMObject getContext(in DOMString contextId);
};
正如你所看到的,它定义了 2 个属性width
and height
,并且两者都是unsigned long
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)