避免同一个JS文件的多个实例
我发现加载相同的JavaScript文件两次或更多(通过PHP)可能会导致在IE中的错误(如:line 1 char 1 code 0
)。这发生在从嵌套模板构建网页时(在本例中为CakePHP)。避免同一个JS文件的多个实例
有没有办法只包含一次文件?
也许,在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);
?>
对不起,我应该说cakephp 1.2.x - $ html->脚本不可用。原始Q编辑。 – Leo 2010-08-27 12:31:33
另外,在1.3中有一个'一次'选项可用。 – Leo 2010-08-27 12:34:43
是的,这工作在1.3。也许是时候升级了。 – shamittomar 2010-08-27 12:49:26
@cdburgess:谢谢。 – Leo 2010-08-27 13:14:09