如果div包含大量可能包含或不包含的文本,我会在所述div中查找文本末尾的x位置。这是用户生成的文本,因此我不知道它将会是什么,而且,它必须是XSS安全的,所以我不能在我的代码中使用<span>
元素,因为用户可以编写一些可以执行的脚本。
此处给出的解决方案很棒,但允许不安全的脚本可能在浏览器中执行。
find out length of last incomplete line of text in container
理想情况下,我会使用这样的签名方法:
int getPixelsFromLeftMostSideOfDiv(Element e)
答案 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附带给你玩