anchorOffset在WebKit(chrome和safari)中是int而不是long

anchorOffset is an int rather than a long in WebKit (chrome and safari)

本文关键字:int 中是 long safari WebKit chrome anchorOffset      更新时间:2023-09-26

我有这样的代码:

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标记,你会看到它像溢出一样计数。

就好像有多种选择——但我不知道如何获得它"包裹"的次数

非常感谢您的帮助。

JavaScript只有一个数字类型(它是符合IEEE-754的浮点双精度),所以您看到的差异可能是window.getSelection()中的实现差异。

可能的解决方案取决于具体的用例。