Internet Explorer 有一个非标准特性称为 XML 数据岛,它允许使用非标准 HTML 标签 <xml> 在 HTML 文档中嵌入 XML。Mozilla 不支持 XML 数据岛,将其作为未知的 HTML 标签处理。可以用 XHTML 来实现同样的功能,但是由于 Internet Explorer 对 XHTML 的支持很弱,这通常不是一个好办法。
一种跨浏览器的解决方法是使用 DOM 解析器,它解析包含序列化 XML 文档的字符串并为解析后的 XML 生成文档。Mozilla 使用 DOMParser 类,它接受序列化字符串并用它创建 XML 文档。在 Internet Explorer 可用 ActiveX 实现同样的功能。新增的 Microsoft.XMLDOM 生成 XML 文档,并且有一个 loadXML 方法可以接收字符串。比如下面的代码:
IE XML data island:
..
<xml id="xmldataisland" >
<foo >bar </foo >
</xml >
<SCRIPT language="JavaScript">
//Cross-browser solution:
var xmlString = " <xml id=\"xmldataisland\" > <foo >bar </foo > </xml >";
var myDocument;
if (document.implementation.createDocument){
// Mozilla, create a new DOMParser
var parser = new DOMParser();
myDocument = parser.parseFromString(xmlString, "text/xml");
} else if (window.ActiveXObject){
// Internet Explorer, create a new XML document using ActiveX
// and use loadXML as a DOM parser.
myDocument = new ActiveXObject("Microsoft.XMLDOM")
myDocument.async="false";
myDocument.loadXML(xmlString);
document.write(myDocument.selectSingleNode("xml/foo").text);
}
</SCRIPT>
var xmlString = " <xml id=\"xmldataisland\" > <foo >bar </foo > </xml >";
Javascript中引号表示字符串的头和尾如果字符串中包含有如:双引号、反斜杠、换行符、回车符等字符时就要用到转义
下面列出了需要转义的特殊 JavaScript 字符:
- ' :\'
- " :\"
- \ :\\
- 走纸换页: \f
- 换行:\n
- 换栏符:\t
- 回车:\r
- 回退符:\b
Trackback: http://tb.donews.net/TrackBack.aspx?PostId=1221949