Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 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 [];
	}
Прошу помощи привести это в божеский вид Скрипт работает, но какой-то не красивый
__________________
Счастье - это хорошее здоровье и плохая память

Создать новую тему   Часовой пояс GMT +4, время: 07:47.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 07:47.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.