使用 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="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>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2850415/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 儘量避免無知者無畏
- 儘量使用 useReducer,不要使用 useStateuseReducer
- 移動 VR 開發時要避免的 PC 渲染技術VR
- Spring 定時器的使用—Xml、Annotation、自定義Spring定時器XML
- Spring 定時器的使用---Xml、Annotation、自定義Spring定時器XML
- Python——各種方法的使用(儘量每天更新)——from(資料探勘課)Python
- 技術分享 | MySQL 編寫指令碼時避免煩人的警告MySql指令碼
- 使用 Vue 3 時應避免的 10 個錯誤Vue
- 使用Cassandra時需要避免的三個誤區WH
- Redis管道技術的使用Redis
- 儘可能的使用原生js而不是jQueryJSjQuery
- 儘可能的使用原生js,而不是jQueryJSjQuery
- 使用git時避免每次提交輸入密碼Git密碼
- 面試官:如何在開發階段就儘量避免寫出慢 SQL ?面試SQL
- 如何使用原生技術寫一個倒數計時時鐘
- 使用FOR XML AUTO控制XML輸出KHXML
- java的XML解析(DOM4J技術)JavaXML
- Spring基於XML方式的使用SpringXML
- Laravel 定時任務,避免重複的方法-----使用檔案鎖Laravel
- 使用React嚴格模式避免過時的程式碼和副作用React模式
- 鎖的使用與死鎖的避免
- Spring基礎使用(三)-------XML定義AOP的使用SpringXML
- C#效率優化(3)-- 使用foreach時避免裝箱C#優化
- 使用 RxJs Observable 來避免 Angular 應用中的 Promise 使用JSAngularPromise
- AR技術在藝術展館中的使用效果
- 技術分享| 雲伺服器的使用-nginx的安裝及使用伺服器Nginx
- 技術卡片 - 不要使用 else
- [微服務技術文章之其一] 服務整合時需避免的兩個錯誤微服務
- C#效率優化(1)-- 使用泛型時避免裝箱C#優化泛型
- MySQL如何避免使用swap(ZT)MySql
- 使用DocumentBuilderFactory解析XML淺談UIXML
- 使用 Java 解析XML檔案JavaXML
- 避免使用服務網格的原因? - Reddit
- 學Java技術,這些問題要避免Java
- 學Java技術,這些問題要避免!Java
- 技術分享:如何避免ajax重複請求?
- logback的使用和logback.xml詳解XML
- 三大最被低估的安全技術使用者數量決定一切