Wingely Dog
Guest
Проблема с отправкой сгенерированного яваскрипта
Задача общем такая.
Есть некий движок с системой интернационализации.
Необходимо организовать интернационализацию подгружаемого яваскрипта. Причем нельзя писать сами скрипты в основной текст страницы, скрипты можно только подключать.
----------------------------------------------------
Для начала делаю так, есть некая страница которая содержит такую строчку
<script src='/js_loader.php?f=file_name'></script>
где file_name имя файла содержащего чистый яваскрипт
скрипт подгружающий броузеру указанный файл
все работает замечательно, так как и ожидалось.
далее я пытаюсь задействовать систему интернационализации используемую в самом движке сайта. Вместо файла с чистым яваскриптом, я указываю php файл в котором этот яваскрипт генерится должным образом
<script src='/js_loader.php?f=file_name.php'></script>
соответственно переделываю файл загрузки
и в файле генерации делаю следующую штуку
все работает, но один казус. Скрипт стал грузиться очень медленно. С локального сервера триста строчек скрипта забирает секунд пять.
где я промотался?
я правильно понимаю, что
fpassthru( $f ) == echo fread($f, filesize( $file_name ));
???
какие есть альтернативы этому решению ( с учетом, что яваскрипты всетаки нельзя писать в само тело страницы и при этом была бы задействована основная система интернационализации)
PS: Сорри за длинность объяснения. хотел поясней подвести под мысль
Задача общем такая.
Есть некий движок с системой интернационализации.
Необходимо организовать интернационализацию подгружаемого яваскрипта. Причем нельзя писать сами скрипты в основной текст страницы, скрипты можно только подключать.
----------------------------------------------------
Для начала делаю так, есть некая страница которая содержит такую строчку
<script src='/js_loader.php?f=file_name'></script>
где file_name имя файла содержащего чистый яваскрипт
скрипт подгружающий броузеру указанный файл
PHP:
--- js_loader.php ---
// бла бла, проверки
// отправляем неоходимые хидеры
header (".... ");
header ("Content-type: text/js");
if ($f = @fopen( $_GET['f'], "rb") ){
fpassthru( $f );
fclose ( $f );
}
далее я пытаюсь задействовать систему интернационализации используемую в самом движке сайта. Вместо файла с чистым яваскриптом, я указываю php файл в котором этот яваскрипт генерится должным образом
<script src='/js_loader.php?f=file_name.php'></script>
соответственно переделываю файл загрузки
PHP:
--- js_loader.php ---
// бла бла, проверки
// отправляем неоходимые хидеры
header (".... ");
header ("Content-type: text/js");
include $_GET['f'];
PHP:
--- file_name.php ---
echo i18n( "Hello world!" );
где я промотался?
я правильно понимаю, что
fpassthru( $f ) == echo fread($f, filesize( $file_name ));
???
какие есть альтернативы этому решению ( с учетом, что яваскрипты всетаки нельзя писать в само тело страницы и при этом была бы задействована основная система интернационализации)
PS: Сорри за длинность объяснения. хотел поясней подвести под мысль