javascript - 仅在页面中包含来自已用插件的脚本

标签 javascript html css impresspages

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

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

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

谢谢 莫腾

最佳答案

每个插件决定每次页面加载时应包含哪些 Assets 。尽管如此,您可以创建自己的插件来遵循您自己的逻辑并在页面呈现之前删除一些 Assets (为此我会使用 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);
    }
}

关于javascript - 仅在页面中包含来自已用插件的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25404478/

相关文章:

javascript - MongoDB 脚本加载正确,但不工作

javascript - 如何使用 Cordova 从 url 获取 json 数据?

javascript - Col Span Split For First td cell with table header 表格标题

javascript - 在 JQuery 或 JavaScript 中创建 div/href/img 嵌套 block

javascript - 从单个下拉框中选择多个选项和值

javascript - 使用流创建插件 gulp

html - 如果速率降低,则显示速率 : green if the rate has increased, 红色

html - 为什么这个按钮在IE9中显示为蓝色?

css - 图片在 IE8 上不显示 - 与宽度属性有关?

javascript - 如果不转动破损的网格,Slick Carousel 无法插入第二个 slider