你好用了你修改过的JQuery.xslt.js 在IE9下测试没有问题 在火狐和谷歌下没有显示 也没有报错
这么用的不知道有没有用错 还请指教
var xsltUrl = "cdcatalog.xsl";
$(function(){
$.get("cdcatalog.xml", {}, function(d){
$("#data").xslt(d, xsltUrl, callback);
}, "html");
});
var callback = function(){
};
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
这是因为我之前有加一个样式的属性在里面,上传的时候忘记去掉了,现在代码已重新上传。
$.fn.xslt = function(xml, xslt, addStyle, callback) { //这里多了个参数addStyle
去掉就好了,或者复制以下代码
(function($) {
$.fn.xslt = function() {
return this;
}
var str = /^\s*</;
if (document.recalc) { // IE 5+
$.fn.xslt = function(xml, xslt, callback) {//, callback
var target = $(this);
var xm = new ActiveXObject("Microsoft.XMLDOM");
xm.async = false;
xm.loadXML(xml);
$.get(xslt, function(data) {
target.html(xm.transformNode(data));
if(typeof(callback) === 'function' ) callback.apply(this);
});
return this;
};
}
else if ($.browser.msie && $.browser.version == "9.0") { //IE9
$.fn.xslt = function(xml, xslt, callback) {
if (window.ActiveXObject) {
var target = $(this);
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.6.0");
//裝載數據
xmlDoc.async = false;
xmlDoc.loadXML(xml);
//裝載樣式
var xslDoc = new ActiveXObject("Msxml2.DOMDocument.6.0");
xslDoc.async = false;
xslDoc.resolveExternals = false;
xslDoc.load(xslt);
target.html(xmlDoc.transformNode(xslDoc));
if(typeof(callback) === 'function' ) callback.apply(this);
}
return this;
};
}
else if (window.DOMParser != undefined && window.XMLHttpRequest != undefined && window.XSLTProcessor != undefined) { // Mozilla 0.9.4+, Opera 9+
var processor = new XSLTProcessor();
var support = false;
if ($.isFunction(processor.transformDocument)) {
support = window.XMLSerializer != undefined;
}
else {
support = true;
}
if (support) {
$.fn.xslt = function(xml, xslt, callback) {
var target = $(this);
var transformed = false;
var xm = {
readyState: 4
};
var xs = {
readyState: 4
};
var change = function() {
if (xm.readyState == 4 && xs.readyState == 4 && !transformed) {
var processor = new XSLTProcessor();
if ($.isFunction(processor.transformDocument)) {
// obsolete Mozilla interface
resultDoc = document.implementation.createDocument("", "", null);
processor.transformDocument(xm.responseXML, xs.responseXML, resultDoc, null);
target.html(new XMLSerializer().serializeToString(resultDoc));
}
else {
processor.importStylesheet(xs.responseXML);
resultDoc = processor.transformToFragment(xm.responseXML, document);
target.empty().append(resultDoc);
}
transformed = true;
if(typeof(callback) === 'function' ) callback.apply(this);
}
};
if (str.test(xml)) {
xm.responseXML = new DOMParser().parseFromString(xml, "text/xml");
}
else {
xm = $.ajax({ dataType: "xml", url: xml });
xm.onreadystatechange = change;
}
if (str.test(xslt)) {
xs.responseXML = new DOMParser().parseFromString(xslt, "text/xml");
change();
}
else {
xs = $.ajax({ dataType: "xml", url: xslt });
xs.onreadystatechange = change;
}
return this;
};
}
}
})(jQuery);
评论
全部评论 (0)