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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Повторная загрузка скрипта. 
:(
    Опции темы
Elfet
Дата 15.8.2009, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

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



Всем привет!
Скажите, пожалуйста, а что будет если какой-нибудь скрипт я повторно подключу к странице?  smile 


--------------------
PM MAIL WWW Skype   Вверх
mxt
Дата 15.8.2009, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



смотря что в скрипте )


могут быть просто ошибки, связанные с перезаписью определенных функция и переменных.  либо если сделано правильно , то никаких ошибок )
--------------------
PM MAIL   Вверх
Elfet
Дата 15.8.2009, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

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



Дело в том что я хочу в получаемом html-е по ajax вставить скрипт. Как бы лучше сделать, что бы этот скрипт подключался только один раз? smile


--------------------
PM MAIL WWW Skype   Вверх
mxt
Дата 15.8.2009, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



хм.  можно обычным способом искать теги script и их пути.  и если нужно, то вырезать.

либо использовать String.replace + regExp + callback


Код

"Код".replace(/  /, test)


function test()
{
  //тут смотрим, если есть такой скрипт, то возвращаем ""  если нет, то оставляем как надо
}

--------------------
PM MAIL   Вверх
skyboy
Дата 15.8.2009, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



Цитата(Elfet @  15.8.2009,  11:55 Найти цитируемый пост)
Как бы лучше сделать, что бы этот скрипт подключался только один раз?

если таких динамически подключаемых скриптов ограниченной количество - может, просто подключать их при загрузке страницы?
завести глобальный массив window.registeredScripts, а в загружаемых скриптах вставить проверку на наличие в этой переменной некоего флага "этот скрипт уже выполнялся".
PM MAIL   Вверх
InfMag
Дата 15.8.2009, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

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



Может вариант с переменной как флагом подойдёт?
Код

var runned = false;
if (!runned) function() {
   // script code
   runned = true;
};

Наругайте если чего накосячил smile 

Это сообщение отредактировал(а) InfMag - 15.8.2009, 19:06
PM   Вверх
Elfet
Дата 15.8.2009, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

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



Те скрипты что я собираюсь подключать - сторонние. Так что модифицировать их не желательно. Какие скрипты подключать нужно известно, однако сразу подключать их мне не хочется, так как это излишне. Есть какие-нибудь решения?


--------------------
PM MAIL WWW Skype   Вверх
InfMag
Дата 15.8.2009, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

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



Первым делом:
Код

var runned = false;


Где угодно:
Код

if (!runned) {
     document.write('<script type="text/javascript" src="script123.js"></script>');
     runned = true;
}


Добавлено через 6 минут и 58 секунд
Только вот следующие команды, дабы они выполнились, нужно выполнять таким же методом document.write();
Код

if (!runned) {
     document.write('<script type="text/javascript" src="script123.js"></script>');
     runned = true;
}

document.write('<script type="text/javascript">'
     +"var a=0;"
     +"a++;"
     +"alert(a);"
     //ну или функцию из подключаемого модуля
"</script>");

PM   Вверх
mxt
Дата 16.8.2009, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Elfet
я описал как можно
--------------------
PM MAIL   Вверх
InfMag
Дата 16.8.2009, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

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



Цитата(mxt)

хм.  можно обычным способом искать теги script и их пути.  и если нужно, то вырезать.

либо использовать String.replace + regExp + callback

Код

"Код".replace(/  /, test)


function test()
{
  //тут смотрим, если есть такой скрипт, то возвращаем ""  если нет, то оставляем как надо
}


Товариш, а Вы не могли бы описать по какому принципу работает Ваш код, дабы была понятна логика?

Это сообщение отредактировал(а) InfMag - 16.8.2009, 13:36
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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