Opencart 2.0 和 1.5.6版本并不是完全兼容的,如果你现在有正在运行的opencart站点,不建议你升级。
文件位置 : catalog\view\theme\default\template\common\header.tpl 如果你想进一步优化opencart的打开速度,不妨把opencart引入的JS类库等都换成CDN。
找到:<script src="catalog/view/javascript/jquery/jquery-2.1.1.min.js" type="text/javascript"></script> <!-- use MAX CDN --> <script src="http://code.jquery.com/jquery-2.1.1.min.js" type="text/javascript"></script> <script type="text/javascript"> !window.jQuery && document.write('<script src="catalog/view/javascript/jquery/jquery-2.1.1.min.js" type="text\/javascript"><\/script>'); </script> 为了防止CDN宕机,(虽然这种情况极少见),我还是做了判断,在宕机的情况下调用本地的jQuery类库。 如果要对bootstrap的CDN引入也做此判断的话,就需要动态判断JS和CSS是否引入成功。 新建文件: \catalog\view\javascript\custom.js //判断是否成功引入css文件 function isCssLoaded(link) { try { if (link.sheet && link.sheet.cssRules.length > 0) return true; else if (link.styleSheet && link.styleSheet.cssText.length > 0) return true; else if (link.innerHTML && link.innerHTML.length > 0) return true; } catch (ex) { if (ex.name && ex.name == 'NS_ERROR_DOM_SECURITY_ERR') return true; } return false; } //动态引入CSS、JS文件 var dynamicLoading = { css: function(path){ if(!path || path.length === 0){ throw new Error('argument "path" is required !'); } var head = document.getElementsByTagName('head')[0]; var link = document.createElement('link'); link.href = path; link.rel = 'stylesheet'; link.type = 'text/css'; head.appendChild(link); }, js: function(path){ if(!path || path.length === 0){ throw new Error('argument "path" is required !'); } var head = document.getElementsByTagName('head')[0]; var script = document.createElement('script'); script.src = path; script.type = 'text/javascript'; head.appendChild(script); } }
引入custom.js文件到header.tpl里,<script src="catalog/view/javascript/custom.js" type="text/javascript"></script> <script type="text/javascript"> var isGoo = isCssLoaded("//fonts.googleapis.com/css?family=Open+Sans:400,400i,300,700"); //如果Google Fonts无法加载,引入360的CDN类库 if(!isGoo){ dynamicLoading.css("http://fonts.useso.com/css?family=Open+Sans:300,400,600&subset=latin,latin-ext"); } //Bootstrap加载失败,引入本地的类库文件 var isBootCss = isCssLoaded("https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"); if(!isBootCss){ dynamicLoading.css("catalog/view/javascript/bootstrap/css/bootstrap.min.css"); } </script> (责任编辑:最模板) |