我有一个 Javascript 代码,它适用于现代浏览器:
var offset = getSelection().anchorOffset;
var node = getSelection().anchorNode;
如何在没有 window.getSelection() 方法的 IE 8 上获得相同的结果?
我有一个 Javascript 代码,它适用于现代浏览器:
var offset = getSelection().anchorOffset;
var node = getSelection().anchorNode;
如何在没有 window.getSelection() 方法的 IE 8 上获得相同的结果?
有一个解决方案。可以使用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);
}