![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
AtaL |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 18.2.2006 Репутация: нет Всего: нет |
Доброго времени суток. Программер я совсем начинающий, столкнулась со следующей проблемой:
Допустим, есть некий manyscripts.js, содержащий множество различных функций. function fun1() {...} function fun2() {...} ... function funN() {...} [далее могут идти вызовы этих функций и др. работа скрипта] В хтмл-документе я могу запустить этот скрипт целиком через <script ... src="manyscripts.js"></script> Все выполняется, все отлично. Но как добиться, чтобы в документе в произвольных его местах можно было выполнять какую-либо отдельную (отдельные) функцию? (фактически этот js-файл, кажется, тогда библиотекой будет?) Вариант с <script ... src="manyscripts.js"> fun1(); </script> не работает. Можно, конечно, пихнуть этот набор функций в <HEAD>, но задача стоит именно на присоединяемый файл. Если можно, любой работающий пример. Хотя бы на какой-нибудь Hello Word, выводимый вызовом функции printhello(). :) Это сообщение отредактировал(а) AtaL - 18.2.2006, 21:54 |
|||
|
||||
12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
Не понятно, как это смогло работать. Работать будет такая строчка:
<script src="manyscripts.js"></script > Она есть то же, что включение содержимого файла в текст. Далее в HTML: Вызов функции на выполнение: <script> fun1(); </script> -------------------- Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go |
|||
|
||||
AtaL |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 18.2.2006 Репутация: нет Всего: нет |
Непонятно, как это смогло работать.
Прошу прощения, опечаталась. Исправила.) Да, при включении ресурса в HEAD заработало. Спасибо! С вашего позволения, усложню вопрос. Допустим, есть несколько таких вот наборов функций в нескольких файлах. Все они тоже должны без проблем подключаться и выполняться тем же способом? Если да, то что делать, если имя каких-либо различных функций в двух файлах js совпадает? Можно ли решить эту проблему, не меняя имя функции в подключаемом файле? |
|||
|
||||
Innuendo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 745 Регистрация: 24.12.2005 Где: Молдова Репутация: 2 Всего: 6 |
лучше поменяйте название функций. А то не понятно к чему ссылаться
![]() -------------------- =) |
|||
|
||||
AtaL |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 18.2.2006 Репутация: нет Всего: нет |
Innuendo,
Да, это очевидный выход. Но если библиотеки написаны не мной, и изменение имени функции повлечет за собой переписывание целой библиотеки? (допустим, она часто вызывается другими функциями)? Мне интересно, теоретически возможно жестко прописать связь "источник - функция"? |
|||
|
||||
12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
AtaL, да, включение нескольких файлов равносильно включению их кодов в той же последовательности.
Если встречаются одинаковые имена, то они переопределяются, теряя предыдущие определения (как a=1;a=2; даст a == 2). Если библиотеки поменять нельзя, но функии использовать хочется, то можно :). После определения одной замените конфликтные имена на другие, и функция сохранится под другим именем. Правда, если функция используется в той библиотеке, то будет морока по переименовке обратно при обращении к библиотеке, но тут уж сами решайте, что удобнее. |
|||
|
||||
AtaL |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 18.2.2006 Репутация: нет Всего: нет |
12345c
Спасибо! Вопрос исчерпан.) |
|||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |