获取div中最后一行不完整文本的长度

时间:2017-04-18 23:09:16

标签: javascript html

如果div包含大量可能包含或不包含的文本,我会在所述div中查找文本末尾的x位置。这是用户生成的文本,因此我不知道它将会是什么,而且,它必须是XSS安全的,所以我不能在我的代码中使用<span>元素,因为用户可以编写一些可以执行的脚本。

此处给出的解决方案很棒,但允许不安全的脚本可能在浏览器中执行。

find out length of last incomplete line of text in container

理想情况下,我会使用这样的签名方法:

int getPixelsFromLeftMostSideOfDiv(Element e)

1 个答案:

答案 0 :(得分:0)

这应该是XSS安全的,假设您将用户文本放在屏幕上的方式是XSS安全的。

它遵循您的链接解决方案将span附加到div并获取该范围的x位置的方法。即

var text = document.getElementById('text');

var span = document.createElement('span');
text.appendChild(span);

console.log(span.getBoundingClientRect().left);

JSFiddle附带给你玩

https://jsfiddle.net/1d29c24d/1/