Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.07.2013, 17:06
Аспирант
Отправить личное сообщение для jule Посмотреть профиль Найти все сообщения от jule
 
Регистрация: 23.02.2013
Сообщений: 57

Покдлючение .js скрипта в .js скрипте
Ребят, помогите блондинке! Как подключить .js скрипт в .js скрипте? В интернете что-то подобное нашла, но не то. Главное, чтобы скрипт подключался напрямую, а не через функцию. Нужно примерно так:

index.html
<!DOCTYPE HTML..
<script src="script.js"></script>


script.js
<!--js код-->
подключение файла script2.js
<!--js код-->

script2.js
//что-то типа
alert('script2.js успешно подключен.');


Как делать нельзя:
index.html
<!DOCTYPE HTML..
<script src="script.js"></script>


script.js
<!--js код-->
//подключение файла script2.js в функции. Например, в add().
<!--js код-->
//вызов функции add()


Сама активация подключения скрипта и его отключения должна осуществляться событием onClick.
Что-то вроде
<a href="#" onclick="">Подключить скрипт</a>
<p><a href="#" onclick="">Отключить скрипт.</a></p>
Ответить с цитированием
  #2 (permalink)  
Старый 30.07.2013, 04:55
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Отключить? - Не получится, скрипт уже загружен в кэш и выполнен, как Вы хотите его отключить?

<a href="#" onclick="addScript('script.js')">Подключить скрипт</a>

function addScript(src) {
   var a = document.head || document.getElementsByTagName('head')[0];
   var b = document.createElement('script');
   b.type = 'text/javascript';
   b.src = src;
   a.appendChild(b);
}
Ответить с цитированием
  #3 (permalink)  
Старый 30.07.2013, 05:21
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

document.write('<script src="script2.js"><\/script>');
Ответить с цитированием
  #4 (permalink)  
Старый 31.07.2013, 00:17
Аспирант
Отправить личное сообщение для jule Посмотреть профиль Найти все сообщения от jule
 
Регистрация: 23.02.2013
Сообщений: 57

Ruslan_xDD,благодарю за решение!Вы мне очень помогли! А если попробовать при клике будет выполняться AJAX-скрипт, который будет как-бы обновлять данные в фоновом режиме, если это вообще возможно.Только в этот раз скрипт подключаться не будет.Думаю, так.
Ответить с цитированием
  #5 (permalink)  
Старый 31.07.2013, 05:04
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

То есть, Вы хотите AJAX'ом загрузить скрипт и выполнить его?

Можно так попробовать, на jQuery:
function runScript(src) {
   $.get(src, {}, function(js) {
      eval(js);
   });
}

Последний раз редактировалось ruslan_mart, 31.07.2013 в 05:06.
Ответить с цитированием
  #6 (permalink)  
Старый 31.07.2013, 13:59
Аспирант
Отправить личное сообщение для jule Посмотреть профиль Найти все сообщения от jule
 
Регистрация: 23.02.2013
Сообщений: 57

Ruslan_xDD,точнее обновить данные, чтобы ранее подключенный скрипт очистился из кеша и чтобы он не был подключен.
Ответить с цитированием
  #7 (permalink)  
Старый 31.07.2013, 15:38
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

jule, как вы определяете "подключенность" скрипта? Что это по вашему значит?
Ответить с цитированием
  #8 (permalink)  
Старый 31.07.2013, 22:01
Аспирант
Отправить личное сообщение для jule Посмотреть профиль Найти все сообщения от jule
 
Регистрация: 23.02.2013
Сообщений: 57

danik.js, я уже решила проблему ) . Правда, не этим способом, но решила. Все же, отвечу на Ваш вопрос. Допустим, есть определенный кусок кода, который работает только при подключенном скрипте. Когда подключающей строки (<script src="путь_к_файлу"></script>) нет и скрипта в кэше браузера тоже , он не работает. Вся проблема в том, что фичи, которые я использую на своем сайте, работают с помощью разных библиотек JS и JQuery. Однако, между некоторыми либрами возник конфликт - если 1 скрипт функционирует, то второй нет и наоборот. Кончено же, конфликт можно решить путем правки кода в библиотеках. Однако, это геморойно. Readme-файл к исходникам не прилагался. Да и на сайте разработчиков разъяснялось только то, как подключить либы с их сервера. Однако, в моем случае это не подходит.Мне пришлось скачивать эти библиотеки и вносить небольшие коррективы. В принципе, править чужой код мне не составит труда, но там огромные библиотеки .js кода, имеющие свои зависимости. Мне было бы тогда проще написать их самой с нуля.

Последний раз редактировалось jule, 31.07.2013 в 22:03.
Ответить с цитированием
  #9 (permalink)  
Старый 01.08.2013, 16:27
Аспирант
Отправить личное сообщение для edison Посмотреть профиль Найти все сообщения от edison
 
Регистрация: 01.04.2013
Сообщений: 58

noConflict() не пробовали?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск