【发布时间】:2015-08-04 10:23:24
【问题描述】:
我有 OpenCart 应用程序。 Javascripts 加载到 settings.php 中的路径 '/catalog/controller//settings.php 中,代码类似:
$this->document->addScript('catalog/view/theme/<theme>/lib/lazy/jquery.lazy.1.6.min.js');
$this->journal2->minifier->addScript('catalog/view/theme/<theme>/lib/actual/jquery.actual.min.js', 'header');
$this->journal2->minifier->addScript('catalog/view/theme/<theme>/lib/hover-intent/jquery.hoverIntent.min.js', 'footer');
这里,“主题”是指已安装的主题名称。我想在 OpenCart 中延迟或异步加载这些 javascript,我该怎么做?
我知道 addScript 语法有 1s 参数作为文件、第二个位置、第三个延迟和第四个异步,其中延迟和异步可以是布尔值。 我尝试了如下语句来查看 defer false 和 async true:
$this->journal2->minifier->addScript('catalog/view/theme/<theme>/lib/hover-intent/jquery.hoverIntent.min.js', 'footer', false, true);
但我不确定这是否可行。请推荐
【问题讨论】:
-
defer和async标志只会将同名的属性添加到生成的<script>标记中。你的实际问题是什么,你想达到什么目的?因为async加载 JavaScript 会导致一些问题,必须正确完成。例如:一段代码想要使用一个尚未加载的库。 -
我想减少 OpenCart 中的 javascript 加载时间。当 OpenCart 主页加载时,它会加载大约 27 个 javascript 文件,这使得加载速度很慢。我想以某种方式快速加载。谢谢。
-
为了让未来的用户知道,请接受一个最能解决您问题的答案(如果有的话)。如果我的回答不清楚或仍然没有帮助,请随时提问。
标签: javascript opencart deferred