opencart速度慢,magento顯示產(chǎn)品
2022-08-25 10:50:27 - 米境通跨境電商
Opencart2.0和1.5.6版本并不是完全兼容的,如果你現(xiàn)在有正在運(yùn)行的opencart站點(diǎn),不建議你升級(jí)。
扯了一段題外話。如果你在本地安裝opencart2.0站點(diǎn)試用的話,你會(huì)發(fā)現(xiàn)打開很慢,opencart2.0版本用了很多時(shí)髦技術(shù),其中還包括GoogleFonts。我們知道國內(nèi)把Google的IP地址都給墻了,所以,你沒辦法,你只能選擇把字體下載到本地,或者調(diào)用國內(nèi)的CDN,比如360。
文件位置:catalogview hemedefault emplatecommonheader.tpl
找到:
替換為:
如果你想進(jìn)一步優(yōu)化opencart的打開速度,不妨把opencart引入的JS類庫等都換成CDN。
找到:
替換為:
!window.jQuery&&document.write('');
為了防止CDN宕機(jī),(雖然這種情況極少見),我還是做了判斷,在宕機(jī)的情況下調(diào)用本地的jQuery類庫。
如果要對bootstrap的CDN引入也做此判斷的話,就需要?jiǎng)討B(tài)判斷JS和CSS是否引入成功。
新建文件:catalogviewjavascriptcustom.js
//判斷是否成功引入css文件
functionisCssLoaded(link){
try{
if(link.sheet&&link.sheet.cssRules.length>0)
returntrue;
elseif(link.styleSheet
&&link.styleSheet.cssText.length>0)
returntrue;
elseif(link.innerHTML
&&link.innerHTML.length>0)
returntrue;
}
catch(ex){
if(ex.name&&ex.name=='NS_ERROR_DOM_SECURITY_ERR')
returntrue;
}
returnfalse;
}
//動(dòng)態(tài)引入CSS、JS文件
vardynamicLoading={
css:function(path){
if(!path||path.length===0){
thrownewError('argument"path"isrequired!');
}
varhead=document.getElementsByTagName('head')[0];
varlink=document.createElement('link');
link.href=path;
link.rel='stylesheet';
link.type='text/css';
head.appendChild(link);
},
js:function(path){
if(!path||path.length===0){
thrownewError('argument"path"isrequired!');
}
varhead=document.getElementsByTagName('head')[0];
varscript=document.createElement('script');
script.src=path;
script.type='text/javascript';
head.appendChild(script);
}
}
引入custom.js文件到header.tpl里,