我的代码如下:
var selObj = (window.getSelection && window.getSelection());
if ( selObj !== null && selObj.anchorOffset) {
var off = selObj.anchorOffset;
据我所知,anchorOffset应该很长 - 在Firefox和IE中确实很长。但是在Webkit中,如果我有超过65K的大量选择,它会截断 - 即我得到一个int。
这是一个错误吗?还有什么我可以用作替代方法吗?
感谢。
我正在添加一个非常简单的页面来显示问题:
<body>
<label ondblclick="var selObj = (window.getSelection && window.getSelection()); alert(selObj.anchorOffset);">
really really long text here
...
...
..
at 65K it wrpas around..
</label>
</body>
如果用大量文本(超过65K字符)替换....并在chrome或safari中打开页面并双击超过65K标记,您将看到它将其视为溢出。
好像有多个选择 - 但我不知道如何“缠绕”多少次
非常感谢任何帮助。
答案 0 :(得分:0)
JavaScript只有一种数字类型(符合IEEE-754标准的浮点数),因此您看到的差异可能是window.getSelection()
中的实现差异。
可能的解决方法取决于具体的用例。