この関数を介してユーザーが選択したコンテンツを抽出しています:
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" アドオンとその厄介な大文字のタグ名と属性名を取り除くための実用的なアプローチを見つけたかもしれません。
繰り返しますが、正確なマークアップを選択することが不可欠です。
どんな助けでも大歓迎です、ありがとう。