Das ist einfach ein dummer Gecko-Fehler, im Prinzip sollte der NodeIterator auch ein DocumentFragment als Parameter enthalten können.
Gilt dasselbe auch für TreeWalker? (Ich denke mal, du hast es ausprobiert, wenn du dich treewalker nennst. ;))Mathias
Super, das war ein toller Tip!
Es scheint tatsächlich ein Fehler des Browsers zu sein, mit treeWalker funktioniert es (ich hatte es nicht ausprobiert... ;-) )!
So sieht es dann aus:
function walking_on_sunshine() {
var selection = window.getSelection();
if (!selection || selection.isCollapsed) return;
var text_parts = [];
var content = selection.getRangeAt(0).cloneContents();
var walker = document.createTreeWalker(content, NodeFilter.SHOW_TEXT, null, false);
var node;
while((node = walker.nextNode()) != null) {
text_parts.push(node.data);
}
return text_parts;
}
Vielen Dank für die fantastische Hilfe, Mathias!
Allen einen wunderschönen Tag
treewalker