0

我创建了一个新的 iframe,然后将其附加到主窗口文档并执行此 javascript:

frame.contentDocument.execCommand('insertimage',0,'obama.jpg');

其中 frame 是 iframe 元素。不幸的是,我收到此错误:

Error: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMHTMLDocument.execCommand]

如何在 iframe 中启用 execCommand() 函数?有什么遗漏吗?

4

1 回答 1

2

文档必须是可编辑的。这可以通过以下任一方法完成:

frame.contentDocument.designMode = 'on';           // = 'off'; to disable`
frame.contentDocument.body.contentEditable = true; // = false; to disable`

execCommand应该只用于可编辑元素。您的错误表明情况并非如此。如果要在文档中插入新图像,只需使用:

var img = new Image();
img.src = 'http://example.com/obama.jpg';
frame.contentDocument.appendChild(img);
于 2012-09-18T08:55:40.117 回答