非IE浏览器把XML数据包的内容当作是HTML而非XML内容。在某些情况下,这可能有问题;在很多其他的情况下,这没什么问题。最后,注意,如果浏览器把XML标记当作HTML标记,那就打破了XML名字空间。这意味着内联的XML数据包并不适用于XSL样式表这样的东西,因为这些样式表总是使用名字空间。
如果想要借助直接把XML包含到一个HTML页面中的网络优点,但又不想遭遇使用XML数据包和<xml>标记所带来的浏览器不兼容性,那么考虑把XML文档文本编码为一个JavaScript字符串,然后解析文档。
HTMLDOM和XML DOM之间最重要的区别可能就是getElementById()方法通常对XML文档无用。在DOM级别1中,这个方法实际上是特定于HTML的,只由HTMLDocument接口定义。
在DOM级别2中,这个方法上升到Document接口的级别,但是还是特定于HTML。在XML文档中,getElementById()查找一个类型为“id”的属性为指定值的元素。在一个元素上定义一个名为“id”的属性是不够的,属性的名字无关紧要,只有属性的类型有关系。属性的类型在一个文档的DTD中声明,而一个文档的DTD在DOCTYPE声明中指定。
HTML Document和XML Document对象之间的另一个区别在于,HTML文档有一个body属性,它指向文档中的<body>标记。对于XML文档来说,只有documentElement属性指向文档的顶端元素。注意,这个顶端元素也可以通过文档的childNodes[]属性来访问,但是它可能不是该数组的第一个元素或唯一的一个元素,因为一个XML文档可能包含一个DOCTYPE声明、注释以及顶端的处理指令。
XPath是引用XML文档中的元素、属性和文本的一种简单的语言。一个XPath表达式可以通过自己在文档层级中的位置来引用一个XML元素,或者可以根据一个属性的值来选择元素。
访问一个Web服务的JavaScript代码,通常只有在它也驻留在Web服务本身所在的同一个服务器的时候才有用。Web服务的实现者可能希望使用JavaScript来为他们的服务提供一个简单的基于HTML的接口,但是,同源策略却阻碍了从Internet到单个Web页面上广泛使用客户端JavaScript来收集Web服务的结果。
放宽同源安全策略。选择工具->Internet选项->安全性,然后点击结果对话框上的Internet标签。滚动安全选项的列表,找到一个名为跨域访问数据源的项目。这个选项通常设置为关闭。需改变为启动。
实际上,W3C设计的DOM API是语言中立的,并且主要集中于XML文档;它是通过一个可选的扩展模块和HTML文档一起使用的。HTMLDocument和HTMLElement都是核心XMLDocument和Element对象的扩展。如果 习惯了使用DOM来操作HTML文档,必须要小心,在操作XML文档的时候不要使用特定于HTML的API功能。
上一篇:nginx性能优化 突破十万并发
下一篇:cookie和AJAX