我正在通过此功能提取用户选择的内容:
function getSelectionHTML() {
var userSelection;
if (window.getSelection)
{
// W3C Ranges
userSelection = document.getElementById('axPage').contentWindow.getSelection();
// Get the range:
if (userSelection.getRangeAt)
var range = userSelection.getRangeAt (0);
else
{
var range = document.createRange ();
range.setStart (userSelection.anchorNode, userSelection.anchorOffset);
range.setEnd (userSelection.focusNode, userSelection.focusOffset);
}
var clonedSelection = range.cloneContents ();
var div = document.createElement ('div');
div.appendChild (clonedSelection);
return div.innerHTML;
}
else if (document.selection)
{
userSelection = self.frames['axPage'].document.selection.createRange();
return userSelection.htmlText;
}
else
{
return '';
}
};
提取工作正常,但我似乎没有找到在 Internet Explorer 中获取所选文本的原始标记的方法。有没有办法像在 Firefox 中一样获得 DocumentFragment?我知道这两个系统的不同处理和方法,但也许有人在 javascript / ECMA 中找到了一种可行的方法来摆脱 HREF 中令人讨厌的 ...jQueryXXXXXXXXXXXXX="12" 插件以及令人痛苦的大写标签和属性名。
再次:必须选择准确的标记。
任何帮助表示赞赏,谢谢。