.rlo {
unicode-bidi: bidi-override; direction: rtl;
}
.lro {
unicode-bidi: bidi-override; direction: ltr;
}
.rtl {
direction:rtl;
}
x {font-family:DejaVuSansMono;}
</style>
<script>
function getTextNode(elm) {
if (elm.nodeType != 3)
return getTextNode(elm.firstChild);
return elm;
}
function addRange(elm) {
try { var sel = window.getSelection(); var range = document.createRange(); var startNode = elm.getAttribute('startNode');
if (startNode == null)
startNode = getTextNode(elm);
else
startNode = getTextNode(elm.childNodes[startNode]) var start = elm.getAttribute('start');
if (start == null) start = 2; var endNode = elm.getAttribute('endNode');
if (endNode == null)
endNode = startNode;
else
endNode = getTextNode(elm.childNodes[endNode]) var end = elm.getAttribute('end');
if (end == null) end = endNode.textContent.length;
if (startNode==endNode && start > end) return;
if (startNode==null) return;
range.setStart(startNode, start);
range.setEnd(endNode, end);
sel.addRange(range);
} catch (e) {
alert(e+'\n'+elm.id+'\n'+t)
}
}
function selectText() {
// For putting selection ranges to multiple editing hosts, we need to put
// a range outside all editable elements first, then, selection's ancestor
// limiter won't be set to an editing host.
getSelection().collapse(document.body, document.body.childNodes.length); var divs = document.getElementsByTagName('div');
for (i = 0; i < divs.length; ++i) {
addRange(divs[i]);
}
document.body.offsetHeight;
setTimeout(function(){document.documentElement.removeAttribute('class')},2000);
}
</script>
</head><body onload="selectText();">
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.