Здравствуйте Гость ( Вход | Регистрация ) | Выслать повторно письмо для активации |
Ларочка |
Отправлено: Окт 2 2015, 15:46
|
Участник Группа: Пользователи Сообщений: 59 Пользователь №: 5 626 Регистрация: 3-Июня 15 Репутация: 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> Зачем заявлять о том, что идет код, потом этот код забить ремаркой, т.е. игнорируемым текстом для системы, и закрыть тег заявленного кода... Что я тут понимаю не так... Очень хочется получить разъяснения. |
|
dci |
Отправлено: Окт 2 2015, 16:07
|
Лисяпа Группа: Пользователи Сообщений: 152 Пользователь №: 5 028 Регистрация: 28-Ноября 14 Репутация: 3 |
Это не является комментарием, скрипт выполняется
-------------------- |
|
Ларочка |
Отправлено: Окт 2 2015, 16:11
|
Участник Группа: Пользователи Сообщений: 59 Пользователь №: 5 626 Регистрация: 3-Июня 15 Репутация: 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" /> {ibf.lang.qr_add_smilie} | <input type='checkbox' name='enablesig' value='yes' class="checkbox" checked="checked" /> {ibf.lang.qr_add_sig} вот результат Если взять в ремарку <!-- ..... --> , то HTML текст игнорирует, и тут все понятно. Для яваскрипт такие значки являются какой-то командой? Я не нашла ситаксиса. После объявления кода для HTML пошел синтаксис уже для явы, а не свой. Но!!!... Что он значит??? Ну расскажите. Очень уж любопытно знать. Это сообщение отредактировал Ларочка - Окт 2 2015, 16:52 |
|
gagarin |
Отправлено: Окт 3 2015, 21:59
|
undefined is not a function Группа: Пользователи Сообщений: 81 Пользователь №: 3 061 Регистрация: 23-Марта 11 Репутация: 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 |
|
Ларочка |
Отправлено: Окт 4 2015, 17:45
|
Участник Группа: Пользователи Сообщений: 59 Пользователь №: 5 626 Регистрация: 3-Июня 15 Репутация: 3 |
Цитата Надеюсь, что объяснил понятно. Благодарю за ответ, все теперь абсолютно ясно стало. Это сообщение отредактировал Ларочка - Окт 4 2015, 17:49 |
|