如何在WYSIWYG编辑器中设置块引号的样式

时间:2011-07-25 04:17:09

标签: javascript html css

我是Javascript的新手,并且一直在做小项目以熟悉这门语言。我做过像可拖动的盒子,计算器等等,现在我正在为一个小型的所见即所得编辑器进行练习,可能还有未来的网站。

在这个项目中,我使用iframe作为文本框,使用这段代码:

<!-- images as buttons -->
<iframe id='reply'></iframe>

<script>
var doc;

doc = document.getElementById('reply');
doc = doc.contentDocument || document.frames.reply.document;
doc.designMode = 'on';
</script>

访问iframe的文档。访问文档后,我使用doc.execCommand('someCommand', false, null);的各种调用来创建编辑界面。我已经有几个按钮可以工作(粗体,斜体,下划线,删除线,子和上标等),但我遇到块引号的问题。这是一个理论留言板,编辑器需要能够识别长引号,就像Stack Overflow上的blockquote按钮如何操作一样。

为了完成这项工作,到目前为止我已经使用了doc.execCommand('formatblock', false, '<blockquote>');。此方法将正确缩进文本,但我的CSS不会影响它。我假设这是因为该文档上的CSS不适用于iframe。 。 。但我不知道如何设计内部的东西。有没有办法在iframe中插入样式表?我错了吗?我应该尝试在iframe上使用textarea吗?谢谢您的帮助!

1 个答案:

答案 0 :(得分:0)

最好将结果输出到div,因为它构成了您正在查看的页面的dom的一部分。 iframe用于加载独立的网址和页面,因此您需要在iframe中设置页面样式,或者链接到与包含iframe的页面相同的样式表。

这样的div如何将css中的oveflow属性设置为overflow:scroll;并获得与iframe类似的效果,同时将所有元素保存在同一页面中?

<div id='reply'></div>

div的Css

#reply {
  width: 200px;
  height: 150px;
  overflow: scroll;
  /* additional properties */
}

我希望这会有所帮助......