仅包含页面中使用过的插件的脚本

时间:2014-08-20 12:16:35

标签: javascript html css impresspages

是否可以只包含在向世界展示的HTML输出中的网站/页面上实际使用的脚本等?

为所有已安装的插件和管理界面(如下所示)加载JS和CSS文件会大大减慢页面的速度:

var ip = {"baseUrl":"http:\/\/localhost\/ImpressPages\/","safeMode":false,"languageId":1...

由于 的Morten

1 个答案:

答案 0 :(得分:1)

每个插件决定每个页面加载应包含哪些资产。尽管您可以创建自己的插件,遵循自己的逻辑并在呈现页面之前删除一些资源(我会使用ipBeforeController事件)。 _1表示低优先级,以确保您的脚本是连续的最后一个。

class Event
{
    public static function ipBeforeController_1()
    {
        // Get all added JavaScript files
        $allJs = \Ip\ServiceLocator::pageAssets()->getJavascript();

        // ... your logic ...

        // Remove
        \Ip\ServiceLocator::pageAssets()->removeJavascript($fileName);
    }
}