次のコードを教えてください。Webkit ファミリでは、(開発者ツールで) シャドウ要素が表示されますが、画面にはまったく表示されません。Firefox では、クラッシュします。のような HTML 要素に最適に機能するため、名前空間を疑っていますHTMLDivElement
。
<?xml version="1.0" encoding="UTF-8"?>
<html>
<script>
var proto = Object.create(SVGTSpanElement.prototype);
proto.attachedCallback = function() {
if (!this.shadowRoot) this.createShadowRoot();
this.shadowRoot.appendChild(document.createTextNode('superb!!!!!'));
}
var XLang = document.registerElement('lang-tspan', { prototype: proto, extends: 'tspan' });
</script>
<svg width="300" height="100"><text x="10" y="20">This is <tspan is="lang-tspan">my substitution</tspan></text></svg>
</html>