我有一个非常大的网络应用程序,共有100多个脚本。目前,当您访问应用程序中的页面时,它将加载该应用程序所需的脚本。
问题是,有些页面有很多复杂的脚本,这可能意味着页面需要几秒钟才能加载。
我正在使用的一种解决方法是使用JQuery的$ .getscript在用户单击按钮时加载脚本以查看该页面上的下一部分(其中内容是从DOM动态添加和删除的)
这很好用,加快了我的网页。
我正在阅读其他一些帖子,这些帖子让我想起了浏览器缓存脚本的事实。
我的问题是,在用户登录后立即加载我的应用中的每个脚本会更好吗?显然这意味着登录后的第一页需要一段时间来加载我将用“加载”微调器或其他东西呈现它们。
如果我利用浏览器缓存功能,这会加速我的应用程序吗?
这就是我现在加载脚本的方式。
在我看来,我有一个“JS”数组,每个控制器将该页面所需的脚本推送到:
class Activity extends Controller {
function __construct()
{
parent::__construct();
$this->view->js = array(
'Activity2/js/activity.js',
'Activity2/js/customer.js',
'Activity2/js/selling.js',
'Activity2/js/buying.js',
...
然后循环该数组并在页脚中输出:
<?PHP
if(isset($this->js)) {
foreach($this->js as $js) {
echo '<script type="text/javascript" src="' . WROOT . Vs . $js . '"></script>';
}
}
?>
答案 0 :(得分:0)
我认为下载100 x 1k文件比下载“1 x 100kb”文件要慢。 那个生成单个js而不是在页面中有100个脚本标签的php脚本怎么样?
想想那个糟糕的浏览器,必须检查是否缓存了100个或更多文件;)
这个答案特定于您在哪里撰写了大约100个js文件以及加载方式的问题。您还应该了解AMD和require.js技术。
d