2010-08-27 71 views
2

我發現加載相同的JavaScript文件兩次或更多(通過PHP)可能會導致在IE中的錯誤(如:line 1 char 1 code 0)。這發生在從嵌套模板構建網頁時(在本例中爲CakePHP)。避免同一個JS文件的多個實例

有沒有辦法只包含一次文件?

也許,在CakePHP中,它可以通過操縱$scripts_for_layout variable來完成?爲此,腳本必須非內聯加載。

編輯: 我正在使用1.2,因此$ html-> script選項不可用。恥辱作爲其中一個選項是'once'[true|false]

+0

@cdburgess:謝謝。 – Leo 2010-08-27 13:14:09

回答

2

把所有的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); 
?> 
+0

對不起,我應該說cakephp 1.2.x - $ html->腳本不可用。原始Q編輯。 – Leo 2010-08-27 12:31:33

+0

另外,在1.3中有一個'一次'選項可用。 – Leo 2010-08-27 12:34:43

+1

是的,這工作在1.3。也許是時候升級了。 – shamittomar 2010-08-27 12:49:26

相關問題