IE 8 getSelection()。anchorOffset替代方案

时间:2013-09-18 11:36:09

标签: javascript internet-explorer-8 getselection

我有一个Javascript代码,适用于现代浏览器:

var offset = getSelection().anchorOffset;
var node   = getSelection().anchorNode;

如何在没有window.getSelection()方法的IE 8上获得相同的结果?

1 个答案:

答案 0 :(得分:0)

有一个解决方案。可以使用Rangy库扩展浏览器的对象模型:

window.getSelection = rangy.getSelection

由于Rangy可能需要一段时间才能启动,因为现代浏览器我们不需要这样做,还有一些解决方法:

/* 
IE 8 getSelection() missing object and properties simple hack
*/
if (window.getSelection == undefined) {                /* IE? */
    var wgS = setInterval(function(){                  /* wait for Rangy */
        if (rangy.initialized) {
            window.getSelection = rangy.getSelection;  /* do the stuff */
            clearTimeout(wgS);                         /* exit */
        }
     }, 10);
}