代码之家  ›  专栏  ›  技术社区  ›  Leo

避免同一JS文件的多个实例

  •  2
  • Leo  · 技术社区  · 14 年前

    我发现(通过php)加载同一个javascript文件两次或两次以上会导致IE中的错误(例如: line 1 char 1 code 0 )当一个网页是由嵌套的模板构建时,就会发生这种情况——在本例中,是cakephp。

    有没有办法只包含一个文件一次?

    也许,在cakephp中,可以通过操纵 $scripts_for_layout variable ?要使其工作,必须加载脚本,而不是内联。

    编辑: 我使用的是1.2,因此$html->脚本选项不可用。可惜的是其中一个选择是 'once'[true|false]

    1 回复  |  直到 14 年前
        1
  •  2
  •   shamittomar    14 年前

    将所有要使用的JS文件放在一个数组中。然后,让它独一无二并使用cakephp script 方法来包含脚本文件。

    <?php
    //earlier in code... add/edit values in this array
    $scripts = array('jquery','wysiwyg','scripts');
    
    //make it unique
    $scripts = array_unique($scripts);
    
    //Use CakePHP script method to load multiple external js files:
    echo $html->script($scripts);
    ?>