Показать сообщение отдельно
Старый 04.05.2011, 13:25
_sestra_ вне форума Посмотреть профиль Отправить личное сообщение для _sestra_ Найти все сообщения от _sestra_
  № 1  
Ответить с цитированием
_sestra_
 
Аватар для _sestra_

Регистрация: Dec 2005
Сообщений: 219
Отправить сообщение для _sestra_ с помощью ICQ Отправить сообщение для _sestra_ с помощью Skype™
По умолчанию Парсинг Javascript-а

Написал парсинг для JavaScript - конструкции с последующей отправкой по ExternalInterface:
Код AS3:
public static function getJavaScript (baseUrl:String):Array // возвращаем массив Fn, arg1, arg2, arg3
	{
		if (baseUrl.indexOf('javascript:') != -1)
		{
			var js:String = baseUrl.split('javascript:')[1];
			var fn:String = js.substr(0, js.indexOf('(', 0)).split(' ').join(''); // имя ф-ции без лишних пробелов
			var args:Array = js.substr(js.indexOf('(', 0)+1, js.indexOf(')', 0) - js.indexOf('(', 0) - 1).split(','); // массив аргументов
			for (var a:uint = 0; a < args.length; a++) // чистим аргументы от ненужных кавычек
			{
				var quotes:String = '"'; // смотрим в какие кавычки засунута строка
				if (args[a].lastIndexOf("'") > args[a].lastIndexOf('"')) quotes = "'"; 
				if (args[a].indexOf(quotes) != -1) args[a] = args[a].substr(args[a].indexOf(quotes, 0)+1, args[a].lastIndexOf(quotes) - args[a].indexOf(quotes, 0) - 1); // выделяем строку между соотв. кавычками
			}
			args.unshift(fn); // добавляем в массив имя ф-ции
			return args;
		}
		return [];
	}
Прошу помощи привести это в божеский вид Скрипт работает, но какой-то не красивый
__________________
Счастье - это хорошее здоровье и плохая память