在浏览器环境中,创造了一个SVG元素这样
svg = document.createElement('svg');
追加到身体与SVG元素不起作用填充,因为
svg.namespaceURI === 'http://www.w3.org/1999/xhtml'
但这样做这样
svg = document.createElementNS('http://www.w3.org/2000/svg','svg')
它会工作。
这是合理的为元素应该在SVG方式来处理,而不是在HTML方式
同样,在创建
select = document.createElementNS('xxxx','select')
并追加到身体,元素就不会显示为一个众所周知的select
下拉,因为浏览器被告知它不是http://www.w3.org/1999/xhtml:select
元素,而是它是xxxx:select
。
根据节点本身的NS(何时识别出),它会像节点处理一样被分派到不同的处理器。
是否有可能为Document定义一个自定义namespaceURI,以便让它的具有该特定nsURI的节点以自定义的方式进行处理,可能是通过函数来处理的?浏览器自定义命名空间要素处理器
回答
注意,不确定预期结果是什么?答试图证明了用ProcessingInstruction
// create `ProcessingInstruction`
var p = document.createProcessingInstruction("js", "{\"color\":\"blue\"}");
var div = document.getElementById("process");
document.body.insertBefore(p, div);
// use `ProcessingInstruction`
div.style.color = JSON.parse(div.previousSibling.nodeValue).color;
<!doctype html>
<html>
<body>
<div id="process">Process</div>
</body>
</html>
我喜欢使用PI的想法,尽管它不是关于名称空间的,我做了一些测试,好吧,以编程方式添加PI节点,就像你做的一样,但是HTML解析不处理PI并将它们转换为注释节点。不支持的HTML也在你提供的链接中声明[«它HTML我们没有处理指令。 »](http://www.xmlplease.com/xml/xmlname/pi).. pity .. – aleclofabbro
可以为节点类型7或节点类型8分析'html'文档,这些节点的data属性可以进一步解析,而不用使用'js'创建处理指令。其他替代方案可能是使用'xhtml',并在文档中使用'stylesheet'或'javascript'外部指令资源或节点包含'xslt';也可以使用'shadowRoot'和'template'和'content'元素来呈现自定义指令,具体取决于应用程序的预期结果。 – guest271314
- 1. 命名空间和预处理器
- 2. 滤波器定义的命名空间
- 3. 浏览器SCSS处理器?
- 4. c#web浏览器查看器控件需要时间处理
- 5. Visual studio测试浏览器按名称分组命名空间
- 6. 如何定义命名空间以及编译器如何处理命名空间?
- 7. JavaScript:在命名空间内遍历/浏览命名空间?
- 8. 浏览服务器名称空间和访问自定义引用
- 9. 处理来自浏览器的来电
- 10. 命名空间处理
- 11. 命名空间处理XML
- 12. 如何在命名空间元素中定义非命名空间元素?
- 13. 链接器错误与我的自定义命名空间
- 14. 多处理浏览器?
- 15. Cordova处理浏览器特定任务
- 16. 安全命名空间不支持元素[自定义过滤器]
- 17. Opera需要更多时间来处理浏览器实例
- 18. ActionScript自定义命名空间界面
- 19. python feedparser自定义命名空间
- 20. Spring配置自定义命名空间
- 21. 带自定义命名空间的XmlSerializer
- 22. 自定义浏览器打印输出
- 23. 自定义浏览器的行为
- 24. CKEditor - 自定义图像浏览器
- 25. 为Android创建自定义浏览器
- 26. 跨浏览器自定义复选框
- 27. 自定义Web浏览器太慢
- 28. CKEditor自定义图像浏览器
- 29. 安卓浏览器自定义用户代理找不到我的浏览器名称
- 30. 定义VS命名空间
是的,应该是可能的一种方法。预期的结果是什么? – guest271314
如何?我不打算采取特定的结果,我正在评估拦截文档处理的不同方式,并且这种情况看起来很有趣 – aleclofabbro
一种方法https://developer.mozilla.org/en-US/docs/Web/API/Document/registerElement,http://stackoverflow.com/questions/34055503/what-is-the-point-of-the-is-syntax-when-extending-elements-in-web-components?s=4|0.0000;另见http://www.w3.org/TR/html4/sgml/dtd.html。可以定义_“让浏览器以某种方式对它们进行调度处理”_? “处理”包括什么? – guest271314