jQuery 在 Joomla 上不正确 运行
jQuery not running correctly on Joomla
我正在一个网站上工作,但我无法找到 jQuery 代码在不使用 Joomla 的情况下无法显示在本地服务器上的原因。
我正在使用 Joomla 2.5.1,我正在尝试 运行 本网站上的以下代码:http://www.elitartravel.com
代码:
<script>
(function(a){if(typeof define==='function'&&define.amd){define(['jquery'],a)}else{a(jQuery)}}(function($){if($.support.cors||!$.ajaxTransport||!window.XDomainRequest){return}var n=/^https?:\/\//i;var o=/^get|post$/i;var p=new RegExp('^'+location.protocol,'i');$.ajaxTransport('* text html xml json',function(j,k,l){if(!j.crossDomain||!j.async||!o.test(j.type)||!n.test(j.url)||!p.test(j.url)){return}var m=null;return{send:function(f,g){var h='';var i=(k.dataType||'').toLowerCase();m=new XDomainRequest();if(/^\d+$/.test(k.timeout)){m.timeout=k.timeout}m.ontimeout=function(){g(500,'timeout')};m.onload=function(){var a='Content-Length: '+m.responseText.length+'\r\nContent-Type: '+m.contentType;var b={code:200,message:'success'};var c={text:m.responseText};try{if(i==='html'||/text\/html/i.test(m.contentType)){c.html=m.responseText}else if(i==='json'||(i!=='text'&&/\/json/i.test(m.contentType))){try{c.json=$.parseJSON(m.responseText)}catch(e){b.code=500;b.message='parseerror'}}else if(i==='xml'||(i!=='text'&&/\/xml/i.test(m.contentType))){var d=new ActiveXObject('Microsoft.XMLDOM');d.async=false;try{d.loadXML(m.responseText)}catch(e){d=undefined}if(!d||!d.documentElement||d.getElementsByTagName('parsererror').length){b.code=500;b.message='parseerror';throw'Invalid XML: '+m.responseText;}c.xml=d}}catch(parseMessage){throw parseMessage;}finally{g(b.code,b.message,c,a)}};m.onprogress=function(){};m.onerror=function(){g(500,'error',{text:m.responseText})};if(k.data){h=($.type(k.data)==='string')?k.data:$.param(k.data)}m.open(j.type,j.url);m.send(h)},abort:function(){if(m){m.abort()}}}})}));
jQuery.ajax({
type: "post",
url: "http://www.e-tsw.com/Search/Box?af=AF-ASB&ln=ESP&cu=PE",
success: function (data) {
jQuery("#liquidBoxContainer").html(data);
}
});
</script>
当 运行 在网络服务器上时,灯箱显示有问题,如您所见。但是当我 运行 它在 Xampp 上并且不使用 Joomla 时,它工作得很好。另外,我安装了一个插件来强制 jQuery 的 2.1.4 版本到 运行,因为我认为它与 Joomla 运行 的 1.8 jQuery 版本冲突ning,但并没有解决任何问题
有人能告诉我为什么会这样吗?也许你们中的某些人可能遇到过 jQuery 和 Joomla 的一些类似问题。
谢谢。
jquery.fancybox 在 jquery 之前加载,因为这是 joomla,您需要更改将 js 添加到页面的扩展的加载顺序,或者编写一个插件来重新排序 js在呈现页面之前包含。
我正在一个网站上工作,但我无法找到 jQuery 代码在不使用 Joomla 的情况下无法显示在本地服务器上的原因。 我正在使用 Joomla 2.5.1,我正在尝试 运行 本网站上的以下代码:http://www.elitartravel.com
代码:
<script>
(function(a){if(typeof define==='function'&&define.amd){define(['jquery'],a)}else{a(jQuery)}}(function($){if($.support.cors||!$.ajaxTransport||!window.XDomainRequest){return}var n=/^https?:\/\//i;var o=/^get|post$/i;var p=new RegExp('^'+location.protocol,'i');$.ajaxTransport('* text html xml json',function(j,k,l){if(!j.crossDomain||!j.async||!o.test(j.type)||!n.test(j.url)||!p.test(j.url)){return}var m=null;return{send:function(f,g){var h='';var i=(k.dataType||'').toLowerCase();m=new XDomainRequest();if(/^\d+$/.test(k.timeout)){m.timeout=k.timeout}m.ontimeout=function(){g(500,'timeout')};m.onload=function(){var a='Content-Length: '+m.responseText.length+'\r\nContent-Type: '+m.contentType;var b={code:200,message:'success'};var c={text:m.responseText};try{if(i==='html'||/text\/html/i.test(m.contentType)){c.html=m.responseText}else if(i==='json'||(i!=='text'&&/\/json/i.test(m.contentType))){try{c.json=$.parseJSON(m.responseText)}catch(e){b.code=500;b.message='parseerror'}}else if(i==='xml'||(i!=='text'&&/\/xml/i.test(m.contentType))){var d=new ActiveXObject('Microsoft.XMLDOM');d.async=false;try{d.loadXML(m.responseText)}catch(e){d=undefined}if(!d||!d.documentElement||d.getElementsByTagName('parsererror').length){b.code=500;b.message='parseerror';throw'Invalid XML: '+m.responseText;}c.xml=d}}catch(parseMessage){throw parseMessage;}finally{g(b.code,b.message,c,a)}};m.onprogress=function(){};m.onerror=function(){g(500,'error',{text:m.responseText})};if(k.data){h=($.type(k.data)==='string')?k.data:$.param(k.data)}m.open(j.type,j.url);m.send(h)},abort:function(){if(m){m.abort()}}}})}));
jQuery.ajax({
type: "post",
url: "http://www.e-tsw.com/Search/Box?af=AF-ASB&ln=ESP&cu=PE",
success: function (data) {
jQuery("#liquidBoxContainer").html(data);
}
});
</script>
当 运行 在网络服务器上时,灯箱显示有问题,如您所见。但是当我 运行 它在 Xampp 上并且不使用 Joomla 时,它工作得很好。另外,我安装了一个插件来强制 jQuery 的 2.1.4 版本到 运行,因为我认为它与 Joomla 运行 的 1.8 jQuery 版本冲突ning,但并没有解决任何问题
有人能告诉我为什么会这样吗?也许你们中的某些人可能遇到过 jQuery 和 Joomla 的一些类似问题。
谢谢。
jquery.fancybox 在 jquery 之前加载,因为这是 joomla,您需要更改将 js 添加到页面的扩展的加载顺序,或者编写一个插件来重新排序 js在呈现页面之前包含。