谷歌浏览器中的javascript XSL
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了谷歌浏览器中的javascript XSL,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1735字,纯文字阅读大概需要3分钟。
内容图文
我正在使用以下javascript代码来显示xml / xsl:
function loadXMLDoc(fname)
{
var xmlDoc;
// code for IE
if (window.ActiveXObject)
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}
// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation
&& document.implementation.createDocument)
{
xmlDoc=document.implementation.createDocument("","",null);
}
else
{
alert('Your browser cannot handle this script');
}
try {
xmlDoc.async=false;
xmlDoc.load(fname);
return(xmlDoc);
}
catch(e)
{
try //Google Chrome
{
var xmlhttp = new window.XMLHttpRequest();
xmlhttp.open("GET",file,false);
xmlhttp.send(null);
xmlDoc = xmlhttp.responseXML.documentElement;
return(xmlDoc);
}
catch(e)
{
error=e.message;
}
}
}
function displayResult()
{
xml=loadXMLDoc("report.xml");
xsl=loadXMLDoc("report.xsl");
// code for IE
if (window.ActiveXObject)
{
ex=xml.transformNode(xsl);
document.getElementById("example").innerHTML=ex;
}
// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation
&& document.implementation.createDocument)
{
xsltProcessor=new XSLTProcessor();
xsltProcessor.importStylesheet(xsl);
resultDocument = xsltProcessor.transformToFragment(xml,document);
document.getElementById("example").appendChild(resultDocument);
}
}
它适用于IE和Firefox,但Chrome在行中失败:
document.getElementById("example").appendChild(resultDocument);
谢谢你的帮助
解决方法:
谷歌浏览器目前对XSL的支持有限.如果您的XSL引用任何外部资源(document()函数,xsl:import,xsl:include或外部实体),则XSL将运行但结果将为空或无效.
如果这不是问题的原因,则问题可能不同:resultDocument和document不共享同一个根.尝试使用importNode或类似的技术.如果失败并且您确定resultDocument具有有效内容,则将其转换为字符串,手动添加节点,并将新节点的innerHTML设置为字符串.我知道,它很难看,但是在Chrome变得成熟之前我们需要一些解决方法……
内容总结
以上是互联网集市为您收集整理的谷歌浏览器中的javascript XSL全部内容,希望文章能够帮你解决谷歌浏览器中的javascript XSL所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。