Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   как запустить функцию JavaScript (https://javascript.ru/forum/misc/3182-kak-zapustit-funkciyu-javascript.html)

maydep 25.03.2009 15:13

как запустить функцию JavaScript
 
JavaScript

доброго времени суток.

подскажите, как мене вызвать(програмно) выполнение функции не зная её названия.
знаю что только начальные буквы функции одинаковы
ну например:
в странице 1 она называется fnvAAAAA
в странице 2 она называется fnvBBBBB
в странице 3 она называется fnvCCCCC
в странице 4 она называется fnvDDDDD
в странице 5 она называется fnvEEEEE
.................................................. ........
в странице 20 она называется fnvZZZZZ

у кого есть какие соображения?

Gvozd 25.03.2009 15:32

перебрать все функции. если функция есть в глобальной области видимости, то примерно так:
for(var opt in window)
	{
	if(window[opt] instanceof Function)
		{
		alert(window[opt])
		//opt - имя функции в глобальной области видимости
		}
	}

maydep 25.03.2009 15:54

так в документе не одна функция имеетсяя (а в некоторых и одна она)

Gvozd 25.03.2009 16:02

вы что и вправду не понимаете что дальше делать?
в том условии, где у вас уже имеется имена функций(всех на странице) с помощью дополнительного условия выбираете только те, которые вам нужны. то есть начинающиеся с необходимого вам симыола.
если не знаете, как работать состроками, то погуглите
PS вот еще один способ, посложнее.перебираете текстовые ноды, содержащиеся внутри тегов script, и ищите характерные куски кода.от них и отталкиваетесь

maydep 25.03.2009 17:02

стало прояснятся,
...только вот window[opt] всю функцию(с внутренностями) , а мне нужно только её название

Gvozd 25.03.2009 17:06

maydep,
вы коментарии в програмном коде не умеете читать?
или вы думаете я их просто так написал?
Цитата:

Сообщение от Gvozd
//opt - имя функции в глобальной области видимости

вот с opt и работайте

maydep 25.03.2009 17:28

....а!...а!....а! ..... Семен Семенович !!!!, .... СПАСИБО!!!!..... просто мозги уже с этими функциями совсем не варят!!!!,... еще раз спасибо!!!

Gvozd 25.03.2009 17:33

пожалуйста

maydep 26.03.2009 06:17

... опять ломаю голову.....
в опере работает как часы, а в ИЕ НЕТ!!!!.... может ли такое быть?, или у меня с компом чего-то не того?


Часовой пояс GMT +3, время: 13:30.