我可以在一个令人满意的div-tag中获得“换行符”吗?

时间:2012-04-11 13:34:20

标签: javascript nicedit

我正在使用nicedit,它使用一个可疑的DIV标记作为输入字段,在用户可以输入并格式化一些文本的页面上,然后将其提交给php脚本,该脚本将此格式化文本转换为图像。 这个contenteditable div中的文本正在进行自动换行,并且没有包含换行符的换行符。
有没有办法找出这个包装发生的位置,或者在发生时插入换行符,以便我可以作为单独的行访问文本?

2 个答案:

答案 0 :(得分:1)

你必须计算每个单词的像素坐标,这可能是非常重要的,以实现跨浏览器。一种方法是在每个单词之前插入零宽度虚拟元素并使用其位置。最近的WebKit和Firefox浏览器为您提供了DOM范围对象的getClientRects()方法,这种方法更受欢迎,因为它具有更小的侵入性并且可能表现更好。 IE的专有TextRange对象具有在单词和属性boundingLeftboundingTop之间移动的方法,它们将为您提供TextRange的边界框。

答案 1 :(得分:0)

尝试不同的方法,改变渲染图像的方式。也许你可以找到一个自动处理自动换行的图形库,或者在页面上复制HTML并使用PhantomJS或类似的方式拍摄快照。