Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Инклюд JavaScript'ов, В head, в body, перед </body> 
:(
    Опции темы
artuska
  Дата 20.8.2007, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 5.5.2007

Репутация: нет
Всего: нет



Вообщем, у меня такая ситуация - у меня для любого сайта есть некий статический шаблон. ХТМЛ код этого шаблона никогда не меняется - меняется только часть с содержанием (через ПХП'эшный include()).

Тобишь, у меня есть ХЕДЕР типа
Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="UTF-8" lang="UTF-8">
 <head>
  <title>Title (каждый раз меняется)</title>

  <meta http-equiv="Content-Language" content="ru">
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <meta http-equiv="keywords" name="keywords" content="">
  <meta http-equiv="description" name="description" content="">

  <link href="/images/reset.css" type="text/css" rel="stylesheet" media="all" />
  <link href="/images/style.css" type="text/css" rel="stylesheet" media="all" />
 </head>
 <body>

  <div id="container">


и ФУТЕР типа

Код

  </div>
 </body>
</html>


Между ними, в зависимости от того, на какой я странице, подгружается соответствующий контент

Код

<?php include("./inc.php");?>


Проблема. А возможно и нет, вот и хочу выяснить.
Проблема в том, что для некоторых разделов сайта, мне нужно подключать также и JavaScript скрипты. Напрмер, для раздела с авторизацией, мне нужно подключить следующий код:
Код

 <script type="text/javascript">
  window.onload = function() { $('login').focus(); }
 </script>

 <script type="text/javascript">
  var xajaxRequestUri="<?="http://".$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];?>";
  var xajaxDebug=false;
  var xajaxStatusMessages=false;
  var xajaxWaitCursor=true;
  var xajaxDefinedGet=0;
  var xajaxDefinedPost=1;

  function xajax_processLogin(){ return xajax.call("processLogin", arguments, 1); }
 </script>


Для какого-нибудь другого раздела, уже совершенно другой JavaScript код нужно подключить, а для еще какого-нибудь раздела вообще не нужно никаких скриптов.

Так вот. Смотрю я примеры и исходники каких-нибудь скриптов, и там, все эти JavaScript скрипты, которые я привел выше, они все включены между тэгами <head></head>. Но мне это никак не подходит!!! Я не могу менять хтмл код ХЕДЕР и ФУТЕР блоков!!!

(Веренее могу, например кучей IF'ов (ПХП'эшных), могу определят, что за раздел и инклюдить туда подходящий JavaScript код. Типа "если этот раздел, то инклюдь этот яваскрипт, если этот раздел, то вот этот яваскрипт инклюдь" и так далее. Но вы сами понимаете - это геморрой, тем более разделы тоже динамические - можно создавать, удалять и переименовывать и тогда все эти ИФы теряют смысл.)

Так вот, собственно вопрос, чем отличается испонение JavaScript'ов, которые находятся в <head></head> тэгах и тех JavaScript'ов, которые находятся в тэгах <body></dody>. Какие отличия принципиальные есть? Почему иногда советуют "вот эту часть нужно поместить в <head>, вот эту в <body>, а вот эту часть JavaScript'а помести в самый конец, перед </body></html>"?

Просто дело в том, что вот те скрипты, которые я привел выше, если я их помещаю в <head> часть, то все работает нормально. Если помещаю в <body> часть, там где уже ПХП инклюдит соответствующие файлы для текущего раздела, то тоже все работает.

Так вот и не могу разобраться, в каких случаях можно\нужно JavaScript'ы помещать в <head></head>, а в каких случаях в <body></body>?

Это сообщение отредактировал(а) artuska - 21.8.2007, 09:47
PM MAIL   Вверх
Astraller
Дата 20.8.2007, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 1.8.2007
Где: $Украина[Кры м]->Феодосия

Репутация: 2
Всего: 5



В общем. Дохфига строк - толку 0. 
Ответ
Код

include("file.php");

Далее в файле file.php
Код

if ([страница регистрации]){
echo "<head><script src='register.js'></script></head>";
}



--------------------
A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair
PM MAIL WWW ICQ   Вверх
artuska
Дата 21.8.2007, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 5.5.2007

Репутация: нет
Всего: нет



Действительно, многовато ХТМЛ кода написал.

Вот ты пишешь
Код

if ([страница регистрации]){
echo "<head><script src='register.js'></script></head>";
}


Вот это как раз то, что мне ненужно.
Ну вот сам подумай, этож сколько ИФов нужно, если у меня дофига страниц. Целая куча.

Вопрос был следующий
Цитата(artuska @  20.8.2007,  12:50 Найти цитируемый пост)
Так вот, собственно вопрос, чем отличается испонение JavaScript'ов, которые находятся в <head></head> тэгах и тех JavaScript'ов, которые находятся в тэгах <body></dody>. Какие отличия принципиальные есть? Почему иногда советуют "вот эту часть нужно поместить в <head>, вот эту в <body>, а вот эту часть JavaScript'а помести в самый конец, перед </body></html>"?


Будет ли отличаться выполнение программы, если я помещу твой <script src='register.js'></script> не в <head></head>, а в <body></body>?

PM MAIL   Вверх
Astraller
Дата 21.8.2007, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 1.8.2007
Где: $Украина[Кры м]->Феодосия

Репутация: 2
Всего: 5



Да. Будет. JS помещённый внутри body будет исполнен сразу после загрузки если это не функция.

А вообще-то я имел в виду чтобы ты вывел еще один <head></head> внутри <body></body>

Это сообщение отредактировал(а) Astraller - 21.8.2007, 10:30


--------------------
A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair
PM MAIL WWW ICQ   Вверх
SamDark
Дата 21.8.2007, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


Профиль
Группа: Участник
Сообщений: 1424
Регистрация: 25.7.2006
Где: Voronezh

Репутация: 2
Всего: 38



Astraller
ммм... а разве ещё один head - это нормально?


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
Astraller
Дата 21.8.2007, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 1.8.2007
Где: $Украина[Кры м]->Феодосия

Репутация: 2
Всего: 5



Это не нормально но работает smile

Если говорить честно то структура ТС изначально не нормальна.


--------------------
A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0730 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.