-
Notifications
You must be signed in to change notification settings - Fork 367
/
Copy pathtextranges.html
43 lines (39 loc) · 1.67 KB
/
textranges.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript" src="../external/log4javascript.js"></script>
<script type="text/javascript">
var appender = new log4javascript.InPageAppender();
log4javascript.getRootLogger().addAppender(appender);
var log = log4javascript.getRootLogger();
log4javascript.setShowStackTraces(true);
</script>
<script type="text/javascript" src="../src/core/core.js"></script>
<script type="text/javascript" src="../src/core/dom.js"></script>
<script type="text/javascript" src="../src/core/domrange.js"></script>
<script type="text/javascript" src="../src/core/wrappedrange.js"></script>
<script type="text/javascript" src="../src/core/wrappedselection.js"></script>
<script type="text/javascript">
window.onload = function() {
rangy.init();
var textNode = document.getElementById("b1").nextSibling;
var p = textNode.parentNode;
var r = document.body.createTextRange();
var workingRange = r.duplicate();
var workingNode = document.createElement("span");
workingNode.innerHTML = "&#ffef;";
p.insertBefore(workingNode, textNode);
workingRange.moveToElementText(workingNode);
workingRange.collapse(false);
p.removeChild(workingNode);
r.setEndPoint("StartToStart", workingRange);
r.select();
log.warn(rangy.getSelection().inspect());
};
</script>
</head>
<body>
<p id="p" contenteditable="true"><b id="b1">Bold </b>text<b id="b2"> bold</b></p>
</body>
</html>