Powered by Invision Power Board
Здравствуйте Гость ( Вход | Регистрация ) Выслать повторно письмо для активации

Forum Rules Правила раздела

Раздел предназначен для вопросов, связанных с администрированием: настройки разделов и форумов, настройки групп и маски доступа, системные настройки и настройки безопасности, модерирование и мультимодерация, журналы, аркады, темы и сообщения, профиль пользователей и прочие настройки админцентра.

Название темы, содержание сообщения и поиск тем. Создание тем в разделе:

  Reply to this topicStart new topicStart Poll

> Вопрос про ремарку в HTML
Ларочка
Отправлено: Окт 2 2015, 15:46
Quote Post


Участник
Group Icon

Группа: Пользователи
Сообщений: 59
Пользователь №: 5 626
Регистрация: 3-Июня 15
Member Offline

Репутация: 3




У меня вызывает некоторое недоумение тот факт, что во многих местах кода HTML при редактировании шаблона форума я вижу коды javascript, заключенные в ремарку.
Скажите мне - зачем?
Эти коды исключены, но на фига?.. Ведь как я понимаю синтаксис, в ремарке написанное игнорируется... или я не так понимаю.

Вот пример, это просто навскидку

Код

 </style>
 <script language='javascript' type="text/javascript">
 <!--
  function redirect_to(where, closewin)
  {
  document.location= '{ibf.script_url}' + where;
  if (closewin == 1)
  {
   self.close();
  }
  }
 //-->
 </script>
</head>


Зачем заявлять о том, что идет код, потом этот код забить ремаркой, т.е. игнорируемым текстом для системы, и закрыть тег заявленного кода... unsure.gif Что я тут понимаю не так...

Очень хочется получить разъяснения.
Top
dci
Отправлено: Окт 2 2015, 16:07
Quote Post


Лисяпа
Group Icon

Группа: Пользователи
Сообщений: 152
Пользователь №: 5 028
Регистрация: 28-Ноября 14
Member Offline

Репутация: 3




Это не является комментарием, скрипт выполняется


--------------------
Top
Ларочка
Отправлено: Окт 2 2015, 16:11
Quote Post


Участник
Group Icon

Группа: Пользователи
Сообщений: 59
Пользователь №: 5 626
Регистрация: 3-Июня 15
Member Offline

Репутация: 3




А зачем тогда значок ремарки? Какая смысловая нагрузка в его использовании...

ps
Поясню свои непонятки в этом возникшем вопросе.

Например, я решила, что на моем форуме в форме быстрого ответа мне совсем не нужна позиция загрузки файлов и вывод полного окна смайликов. Я эти функции в админке, в редактировании шаблонов, просто беру в ремарку и получаю нужный результат - они не отображаются больше, потому что системой воспринимаются как поясняющий текст, а не команды.

вот код
Цитата
<textarea style='margin:0px;padding:4px;width:98%' cols="70" rows="13" name="Post" class="textinput" tabindex="1" id="tex" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onfocus="storeCaret(this);"></textarea>
<br />
<!--
<a href='javascript:emo_pop();'>{ibf.lang.show_emo}</a>
<input type='file' name='FILE_UPLOAD' size="80" class='forminput'/><br /><br />
-->
<input type='checkbox' name='enableemo' value='yes' class="checkbox" checked="checked" />&nbsp;{ibf.lang.qr_add_smilie} |
<input type='checkbox' name='enablesig' value='yes' class="checkbox" checked="checked" />&nbsp;{ibf.lang.qr_add_sig}


вот результат
Присоединённое изображение

Если взять в ремарку <!-- ..... --> , то HTML текст игнорирует, и тут все понятно.
Для яваскрипт такие значки являются какой-то командой? Я не нашла ситаксиса. После объявления кода для HTML пошел синтаксис уже для явы, а не свой. Но!!!... Что он значит???
Ну расскажите. Очень уж любопытно знать.


Это сообщение отредактировал Ларочка - Окт 2 2015, 16:52
Top
gagarin
Отправлено: Окт 3 2015, 21:59
Quote Post


undefined is not a function
Group Icon

Группа: Пользователи
Сообщений: 81
Пользователь №: 3 061
Регистрация: 23-Марта 11
Member Offline

Репутация: 4




Это трюк из прошлого века для браузеров, которые не умеют Javascript и не знают про тэг <script>

Если браузер не умеет Javascript и не знает про <script>, то он показывает то, что заключено в тэге <script> в виде текста на странице.
Именно поэтому это заключено в HTML-комментарий.

Самый сок в том, что для этой ерунды в Джаваскрипте сделали валидной конструкцию "<!--" (с точки зрения здравого смысла интерпретатор должен считать это синтаксической ошибкой).

Таким образом:
Код

<script language='javascript' type="text/javascript">
<!-- // Если умеем выполнять JS, то ничего не делаем, если не умеем - то начинаем HTML-комментарий
 function redirect_to(where, closewin) // Начало скрипта
 {
 document.location= '{ibf.script_url}' + where;
 if (closewin == 1)
 {
  self.close();
 }
 } // Конец скрипта
//--> // Это JS-комментарий (строка начинается с "//"). Тут почти ничего здравому смыслу не противоречит. Если умеем выполнять JS - не делаем ничего, если нет - закрываем HTML-комментарий.
</script>


Надеюсь, что объяснил понятно.

Q: Почему это есть на страницах в интернете в 2015 году?
A:Скорее всего, это осталось от старой версии IPB, взятой за основу для движка форумов.

Q: Надо ли мне делать так же со своими скриптами?
A: Нет, не надо. Браузеры, для которых этот грязный трюк предназначался, больше не используются.

Это сообщение отредактировал gagarin - Окт 3 2015, 22:08
Top
Ларочка
Отправлено: Окт 4 2015, 17:45
Quote Post


Участник
Group Icon

Группа: Пользователи
Сообщений: 59
Пользователь №: 5 626
Регистрация: 3-Июня 15
Member Offline

Репутация: 3




Цитата
Надеюсь, что объяснил понятно.


Благодарю за ответ, все теперь абсолютно ясно стало.


Это сообщение отредактировал Ларочка - Окт 4 2015, 17:49
Top
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Topic Options Reply to this topicStart new topicStart Poll