我发现加载相同的javascript文件两次或更多次(通过PHP)会导致IE中的错误(例如:line 1 char 1 code 0)。当从嵌套模板(在本例中为CakePHP)构建网页时,会发生这种情况。

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

也许在CakePHP中,可以通过操纵$scripts_for_layout variable来完成?为此,必须以非内联方式加载脚本。

编辑:
我使用的是1.2,因此$ html-> script选项不可用。作为选项之一的耻辱是'once'[true|false]

最佳答案

将所有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);
?>

关于php - 避免同一个JS文件的多个实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3583899/

10-13 07:31