共计 2166 个字符,预计需要花费 6 分钟才能阅读完成。
导读 | 本文列出了在使用 XML 时应该尽量避免使用的技术。 |
它是什么?XML 数据岛是嵌入到 HTML 页面中的 XML 数据。
为什么要避免使用它?XML 数据岛只在 Internet Explorer 浏览器中有效。
用什么代替它? 您应当在 HTML 中使用 JavaScript 和 XML DOM 来解析并显示 XML。
如需更多有关 JavaScript 和 XML DOM 的信息,请访问我们的 XML DOM 教程。
本例使用 XML 文档 “cd_catalog.xml”。
把 XML 文档绑定到 HTML 文档中的一个 <xml> 标签。id 属性定义数据岛的标识符,而 src 属性指向 XML 文件:
实例
本实例只适用于 IE 浏览器
<html> | |
<body> | |
<xml id="cdcat" src="https://www.linuxprobe.com/cd_catalog.xml"></xml> | |
<table border="1" datasrc="#cdcat"> | |
<tr> | |
<td><span datafld="ARTIST"></span></td> | |
<td><span datafld="TITLE"></span></td> | |
</tr> | |
</table> | |
</body> | |
</html> |
<table> 标签的 datasrc 属性把 HTML 表格绑定到 XML 数据岛。
<span> 标签允许 datafld 属性引用要显示的 XML 元素。在这个实例中,要引用的是 “ARTIST” 和 “TITLE”。当读取 XML 时,会为每个 <CD> 元素创建相应的表格行。
它是什么?Internet Explorer 5 引入了行为。行为是通过使用 CSS 样式向 XML(或 HTML)元素添加行为的一种方法。
为什么要避免使用它? 只有 Internet Explorer 支持 behavior 属性。
使用什么代替它? 使用 JavaScript 和 XML DOM(或 HTML DOM)来代替它。
实例 1 – 鼠标悬停突出
下面的 HTML 文件中的 <style> 元素为 <h1> 元素定义了一个行为:
<html> | |
<head> | |
<style type="text/css"> | |
h1 {behavior: url(behave.htc) } | |
</style> | |
</head> | |
<body> | |
<h1>Mouse over me!!!</h1> | |
</body> | |
</html> |
下面显示的是 XML 文档 “behave.htc”(该文件包含了一段 JavaScript 和针对元素的事件句柄):
<attach for="element" event="onmouseover" handler="hig_lite" /> | |
<attach for="element" event="onmouseout" handler="low_lite" /> | |
<script> | |
function hig_lite() | |
{element.style.color='red';} | |
function low_lite() | |
{element.style.color='blue';} | |
</script> |
实例 2 – 打字机模拟
下面的 HTML 文件中的 <style> 元素为 id 为 “typing” 的元素定义了一个行为:
<html> | |
<head> | |
<style type="text/css"> | |
#typing | |
{behavior:url(typing.htc); | |
font-family:'courier new'; | |
} | |
</style> | |
</head> | |
<body> | |
<span id="typing" speed="100">IE5 introduced DHTML behaviors. | |
Behaviors are a way to add DHTML functionality to HTML elements | |
with the ease of CSS.<br /><br />How do behaviors work?<br /> | |
By using XML we can link behaviors to any element in a web page | |
and manipulate that element.</p>v | |
</span> | |
</body> | |
</html> |
下面显示的是 XML 文档 “typing.htc”:
<attach for="window" event="onload" handler="beginTyping" /> | |
<method name="type" /> | |
<script> | |
var i,text1,text2,textLength,t; | |
function beginTyping() | |
{ | |
i=0; | |
text1=element.innerText; | |
textLength=text1.length; | |
element.innerText=""; | |
text2=""; | |
t=window.setInterval(element.id+".type()",speed); | |
} | |
function type() | |
{text2=text2+text1.substring(i,i+1); | |
element.innerText=text2; | |
i=i+1; | |
if (i==textLength) | |
{clearInterval(t); | |
} | |
} | |
</script> |
