如何在Firefox下正确显示这个html
IE下可以显示,Firefox下不行,请教
XMLFile1.xml
<?xml version= "1.0 " encoding= "utf-8 " ?>
<?xml-stylesheet type= "text/xsl " href= "table_cs.xsl " ?>
<学生信息>
<个人信息> <姓名> 张三 </姓名> <年龄> 27 </年龄> <备注> 来自江苏 </备注> </个人信息>
<个人信息> <姓名> 李四 </姓名> <年龄> 25 </年龄> <备注> 来自北京 </备注> </个人信息>
</学生信息>
Xsltfile.xsl
<?xml version= "1.0 " encoding= "UTF-8 " ?>
<xsl:stylesheet version= "1.0 " xmlns:xsl= "http://www.w3.org/1999/XSL/Transform ">
<xsl:template match= "/ ">
<html> <head> <title> 学生信息 </title> </head>
<body> <table border= "1 "> <tr bgcolor= "lightgreen "> <td> Name </td> <td> Age </td>
<td> Memo </td> </tr>
<xsl:apply-templates select= "学生信息 " />
</table> </body> </html>
</xsl:template>
<xsl:template match= "学生信息 ">
<xsl:for-each select= "个人信息 ">
<tr bgcolor= "white "> <td> <xsl:value-of select= "姓名 "> </xsl:value-of> </td>
<td> <xsl:value-of select= "年龄 " /> </td>
<td> <xsl:value-of select= "备注 " /> </td>
</tr>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
xxl.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN ">
<html>
<head>
<title> </title>
<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 ">
</head>
<style>
BODY{font:bold 12pt Times New Roman; background-color= "#C0C0C0 "}
</style>
<SCRIPT language= "JavaScript ">
function change()
{
var xmldom = new ActiveXObject( "Microsoft.XMLDOM ");
xmldom.load( "XMLFile1.xml ");
var xsldom = new ActiveXObject( "Microsoft.XMLDOM ");
xsldom.load( "Xsltfile.xsl ");
document.write(xmldom.transformNode(xsldom));
}
</SCRIPT>
<body>
<input name= "button0 " type= "button " value= "显示转换文件 " onclick= "change() "> </input>
</body>
</html>
[解决办法]
<SCRIPT language= "JavaScript ">
function change()
{
var xmldom = new ActiveXObject( "Microsoft.XMLDOM ");
xmldom.load( "XMLFile1.xml ");
var xsldom = new ActiveXObject( "Microsoft.XMLDOM ");
xsldom.load( "Xsltfile.xsl ");
document.write(xmldom.transformNode(xsldom));
}
</SCRIPT>
var xmldom = new ActiveXObject( "Microsoft.XMLDOM ");//这个解析器只能在ie中使用啊,
在ff中要这样写var xmldom = document.implementation.createDocument( ' ', ' ',null);
另外transformNode的函数在ff中也是不一样的O.o
我写了一个这样的对象在ff和ie中都可以使用,你可以参考,也可以直接用
http://www.hua2r.com/blog/12f06a1e0779dcb0d5cb64aee21dcbfb.html
其中的 function DOMDocument() 看看使用方法
[解决办法]
在FF下创建xmlhttprequest为:
var xmlhttp = new new XMLHttpRequest();
[解决办法]
知识是学习的,
导入下面网页里面提供的js
http://www.hua2r.com/blog/12f06a1e0779dcb0d5cb64aee21dcbfb.html
这样的话你就可以这样写:
<script language= "javascript " src= "http://www.hua2r.com/js/Oo.js "> </script>
<script language= "javascript ">
var domDoc = new DOMDocument();
domDoc.load( 'XMLFile1.xml ');
domDoc.loadXSL( 'Xsltfile.xsl ');
document.write(domDoc.transform());
</script>
原理我已经说过了,这个是我封装的。
[解决办法]
你把他的JS 下载下来,包含到你的页面就OK了
也就是 hejunbin 的JS,你说的transformNode也就是他的transform(),自己定义的
好久没有来,都改版了..