Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

* { position: absolute; }
function onLoad() {
// For emulating the traditional behavior, collapse Selection to end of the
// text node in the <iframe> which is the last child of the <body>. Note that
// <iframe> is treated as a container in HTMLEditor.
const iframe = document.querySelector("iframe");
getSelection().collapse(iframe.firstChild, iframe.firstChild.length);
document.querySelector("del").addEventListener("DOMSubtreeModified", () => {
const anchor = document.querySelector("a[contenteditable]");
anchor.replaceChild(iframe, anchor.childNodes[0]);
<body onload="onLoad()">
<a contenteditable>