![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| flaviovich |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 11.9.2005 Репутация: -1 Всего: нет |
Здразвуйте знакоти!
У меня вот такая проблема: мне нужно получить полный текст фунции в переменную. Функция находится во внешним файле: <script language="JavaScript" src="js/forms.js"></script> Я пробовал вот так var x = document.getElementsByTagName("script")[0]; alert(x); но это возвращает Object HTMLScriptElement. Скажи пожалуйста как дальше.. а может вообще не правильно делаю? |
|||
|
||||
| o.s.a. |
|
|||
![]() Xo4y B MocKBy ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 16.2.2005 Где: Ташкент Репутация: 5 Всего: 15 |
-------------------- Не могу стоять, пока другие работают, пойду полежу. |
|||
|
||||
| flaviovich |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 11.9.2005 Репутация: -1 Всего: нет |
А пример дадите? А то у меня получается только {}
|
|||
|
||||
| o.s.a. |
|
|||
![]() Xo4y B MocKBy ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 16.2.2005 Где: Ташкент Репутация: 5 Всего: 15 |
-------------------- Не могу стоять, пока другие работают, пойду полежу. |
|||
|
||||
| Zeroglif |
|
||||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 644 Регистрация: 22.9.2005 Репутация: 28 Всего: 66 |
flaviovich
Это потому что метод, предложенный o.s.a, применить нужно к функции:
а не так:
Правда, в IE это всё равно не работает, но можно сделать так:
Или же (если в файле .js действительно всего одна функция) так:
|
||||||||||
|
|||||||||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
toSource() в IE не существует, юзаем toString() - выдаст как раз текст функции
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| flaviovich |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 11.9.2005 Репутация: -1 Всего: нет |
Спасибо большое ребята!
Вы мне очень помогли, только дальше мне надо получить доступ к переменной. Допустим, у меня есть функция во внешним файле forms.js
Как получить значение 5? Заранне благодарю! Это сообщение отредактировал(а) Aliance - 26.9.2005, 11:41 |
|||
|
||||
| Zeroglif |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 644 Регистрация: 22.9.2005 Репутация: 28 Всего: 66 |
Переменная объявлена локально, доступа извне функции к ней нет. Или делай её глобальной (убирай var), или пусть функция её вернёт (return x), или, если условия задачи неизменяемы, то вытаскивай из строки заданный текст любыми подходящими строковыми методами.
Это сообщение отредактировал(а) Zeroglif - 26.9.2005, 08:13 |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Только помни, функция что может исполняться, это обьект "функция", а её исходный код это нечто совсем другое, скорее в целях отладки. А то чую какой то изврат ты задумал...
Опиши задачу в целом. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| flaviovich |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 11.9.2005 Репутация: -1 Всего: нет |
Функцию нельзя изменять.
Вот что я задумал: Иметь весь текст функции в каком-нибудь массиве (допустим), и с ним делать все что угодно. Zeroglif угадал! Ну как, это возможно? или я плохо объяснял? |
|||
|
||||
| Zeroglif |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 644 Регистрация: 22.9.2005 Репутация: 28 Всего: 66 |
Тебе бы лучше ясно форуму обозначить, какой результат треба получить, а так... можно много о чём фантазировать в свете возможностей великолепного Javascript. ;) |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Я с трудом представляю зачем это может понадобиться... В любом случае придёться писать парсер JS кода, которым будешь разбирать/собирать функцию. Затем полученное дело функции можешь превратить в обьект функцию через new Function(аргументы, тело) Если опишешь задачу, а не свои мысли, то вероятно получишь более правильное решение Добавлено @ 21:51 Zeroglif опередил -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |