//Possible prefixes ActiveX strings for DOM DOcument
var ARR_ACTIVEX = ["MSXML4.DOMDocument", "MSXML3.DOMDocument", "MSXML2.DOMDocument", "MSXML.DOMDocument", "Microsoft.XmlDom"];
var bFound = false;
var STR_ACTIVEX = "";    
for(var i=0; i < ARR_ACTIVEX.length && !bFound; i++){
try{
var pTmp = new ActiveXObject(ARR_ACTIVEX[i]); STR_ACTIVEX = ARR_ACTIVEX[i];
bFound = true;    
                           break;           } 
catch(objException){ 
}
} if (!bFound){
throw "No DOM DOcument found on your computer.";
}用这个可以检查系统有哪个版本的xml。

解决方案 »

  1.   

    哪些版本支持http://www.w3.org/1999/XSL/Transform??
      

  2.   

    function sniff(){
    var xml = "<?xml version=\"1.0\" encoding=\"UTF-16\"?><cjb></cjb>";
    var xsl = "<?xml version=\"1.0\" encoding=\"UTF-16\"?><x:stylesheet version=\"1.0\" xmlns:x=\"http://www.w3.org/1999/XSL/Transform\" xmlns:m=\"urn:schemas-microsoft-com:xslt\"><x:template match=\"/\"><x:value-of select=\"system-property('m:version')\" /></x:template></x:stylesheet>";
    //var xsl = "<?xml version=\"1.0\" encoding=\"UTF-16\"?><x:stylesheet version=\"1.0\" xmlns:x=\"http://www.w3.org/TR/WD-xsl\"></x:stylesheet>";

    var x = null;

    try{ 
    x = new ActiveXObject("Microsoft.XMLDOM");  
    x.async = false;
    x.loadXML(xml)
    }catch(e){return(false)}

    try{
    var s = new ActiveXObject("Microsoft.XMLDOM"); 
    s.async = false;
    if (s.loadXML(xsl)){
    try{
    var op = x.transformNode(s);
    if (op.indexOf("stylesheet") == -1){

    return(true)
    }
    }catch(e){return(false)}
    }
    }catch(e){return(false)}
    }
    这个可以判断是否支持http://www.w3.org/1999/XSL/Transform.
    -----------------------------------------------------------------------------
    www.joysou.com