J'ai besoin d'aide pour faire fonctionner le fichier dans Firefox: J'ai essayé d'adapter les scripts pour que mon fichier fonctionne à la fois dans IE et Firefox mais jusqu'à présent cela ne fonctionne que dans IE. (Le fichier peut être testé à http://www.eyle.org/crosstest.html - tapez simplement le mot Mike dans la zone de texte en utilisant IE (ne fonctionne pas dans Firefox) le document HTML est .La:Support de cross-browser XML
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
var xmlDoc;
//loads xml using either IE or firefox
function loadXmlDoc()
{
//test for IE
if(window.ActiveXObject)
{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.load("books2.xml");
}
//test for Firefox
else if(document.implementation && document.implementation.createDocument)
{
xmlDoc = document.implementation.createDocument("","",null);
xmlDoc.load("books2.xml");
}
//if neither
else
{
document.write("xml file did not load");
}
}
//window.onload = loadXmlDoc();
var subject;
//getDetails adds value of txtField to var subject in outputgroup(subject)
function getDetails()
{
//either this or window.onload = loadXmlDoc is needed
loadXmlDoc();
var subject = document.getElementById("txtField1").value;
function outputgroup(subject)
{
var xslt = new ActiveXObject("Msxml2.XSLTemplate");
var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument");
var xslProc;
xslDoc.async = false;
xslDoc.resolveExternals = false;
xslDoc.load("contains3books.xsl");
xslt.stylesheet = xslDoc;
xslProc = xslt.createProcessor();
xslProc.input = xmlDoc;
xslProc.addParameter("subj", subject);
xslProc.transform();
document.write(xslProc.output);
}
outputgroup(subject);
}
</script>
</head>
<body>
<input type="text" id="txtField1">
<input type="submit" onClick="getDetails(); return false">
</body>
</html>
Le fichier comprend Books2.xml et contains3books. xsl (J'ai mis le code pour ces fichiers à ... ww.eyle.org/books2.xml ... ww.eyle.org/contains3books.xsl) (NB: remplacez ... ww par http: // www)
Vérifiez votre JavaScript FF console d'erreur, vous travaillez toujours avec le MS spécifique 'ActiveXObject' dans outputgroup(). –
Vous pouvez utiliser Sarde http://dev.abiss.gr/sarissa/ (ou d'autres bibliothèques JavaScript) qui gère toutes les vérifications/différences entre navigateurs et vous fournir une API abstraite. Sarissa est spécialement conçu pour gérer les choses XML/XSLT/XPATH. –