【问题标题】:OctoberCMS: How to check if a js file has been already included by another widgetOctoberCMS:如何检查 js 文件是否已被另一个小部件包含
【发布时间】:2017-06-26 07:07:28
【问题描述】:

我有两个Report Widget 类,它们都使用highcharts.js 库。所以它们都应该在渲染之前包含highcharts.js。因此他们实现了loadAssets 方法:

public function loadAssets()
{
    $this->addJs('js/highcharts.js');
}

问题是如果另一个报告小部件已经添加到页面中,我不应该调用addJs 方法,否则highcharts.js 将包含在后端仪表板中两次。如何检查避免多次添加js文件?

【问题讨论】:

    标签: octobercms octobercms-plugins octobercms-backend octobercms-widgets


    【解决方案1】:

    使用addJs()addCss() 函数时,October 本身会检查资源是否已加载,如果已加载,则不会再次加载。

    【讨论】:

    • 这仅适用于同一报告小部件的多个实例。如果您有两个单独的小部件的两个实例,他们将无法知道已包含 javascript 文件。试试看!
    • 我正在使用 5 个不同的报告小部件,每个小部件中加载了 3 个 js 文件。虽然我在小部件render() 函数中调用了addJs()。这样资产就不会被多次加载。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-08
    • 1970-01-01
    • 1970-01-01
    • 2014-07-12
    • 2015-10-11
    • 1970-01-01
    相关资源
    最近更新 更多