Избегание нескольких экземпляров одного и того же файла JS - PullRequest
2 голосов
/ 27 августа 2010

Я обнаружил, что загрузка одного и того же файла JavaScript дважды или более (через PHP) может вызвать ошибки в IE (например, line 1 char 1 code 0).Это происходит, когда веб-страница построена из вложенных шаблонов - в данном случае, CakePHP.

Есть ли способ включить файл только один раз?

Возможно, в CakePHP это можно сделать, управляя $scripts_for_layout variable?Чтобы это работало, скрипты должны быть загружены не встроенными.

Редактировать: я использую 1.2, поэтому опция $ html-> script недоступна.Позор как один из вариантов 'once'[true|false]

1 Ответ

2 голосов
/ 27 августа 2010

Поместите все ваши файлы 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);
?>
...