Новые файлы
Лучшие файлы
Группа: Гости
Сегодня: 13.07.2025
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Почему нельзя использовать внешние скрипты вместо SSI для вы
zizan
Добавлено: Понедельник, 20.02.2012 в 18:27| Пост № 1


Группа:
Пользователи
Сообщений:
100
Репутация:
Замечания:
Лучшая рип студия

Внешние скрипты имеют кучу преимуществ перед внутренними - они кэшируются в бродилке, позволяют писать библиотеки стандартных функций для использования на нескольких страничках, не загромождают код HTML.Но есть у них и недостатки - они плохо поддерживаются старыми бродилками, кроме того, при вызове функции из внешнего скрипта мы не можем быть уверены в том, что этот скрипт загрузился - в противном лучае будет выдано сообщение об ошибке. Особенно плачевно заканчивается использование лентяями внешних скриптов вместо SSI для вывода информации в документ (document.write). Поэтому грамотный метод использования внешних скриптов такой. В <head> документа, выше всех остальных внешних и внутренних скриптов ишется:

<script language="JavaScript" type="text/javascript"><!-- var jsLoaded=false; //--></script>

Внешний скрипт вставляется так:

<script language="JavaScript1.2" src="myscript.js" type="text/javascript"></script>

Обратите внимание на параметр language - там стоит JavaScript1.2 вместо простого JavaScript для того, чтобы старые бродилки не пытались загрузить то, что они все равно не поймут. В файле myscript.js последней строчкой должно стоять: jsLoaded=true;

Затем при необходимости использования функций из внешнего скрипта мы оступаем так:

а) В блоке JavaScript:

<script language="JavaScript" type="text/javascript">
<!--
...
// тили-тили трали-вали
if (jsLoaded) { // это дело мне по силе откажусь теперь едва ли } else { // это мы не проходили это нам не задавали }
...
//-->
</script>

б) При вызове функции по событию в теге HTML:

<a href="page.html" onClick="return (jsLoaded)?externalFunction(...):true;">
Offline
  • Страница 1 из 1
  • 1
Поиск: