Vogd → проверка на URL Lock

Функция, проверяющая, где запущена флешка (AS3).

isUrl(["my_site.com", "my_site2.com"]);

Сработает на «my_site.com», «www.my_site.com», «www.info.my_site.com».
Не сработает на «haha_my_site.com», «my_site_haha.com», «haha.com/my_site.com.html»

		public static function isUrl(urls_allowed:Array):Boolean 
		{
	 		var url:String = main.m_main.stage.loaderInfo.loaderURL;
			var domain_parts = url.split("://");
			if (domain_parts[1])
				url = domain_parts[1];
			
			var flag;
			
			for (var x in urls_allowed) 
			{
				flag = true;
				
				var pos = url.search(urls_allowed[x]), char;
				if (pos > 0)
					char = url.charAt(pos - 1);
					
				if (pos == -1)
					flag = false;
				
				if (pos > 0 && char != '.')
					flag = false;
					
				if (flag)	//какой-то адрес нас устроил
					return true;
			}
			return false;	//ни один адрес нас не устроил
	    }
  • +9
  • 25 мая 2010, 16:50
  • Vogd

Комментарии (5)

RSS свернуть / развернуть
комментарий был удален

+
0
можно воспользоваться?
avatar

zarkua

  • 30 июля 2010, 14:50
+
0
Домен можно проще получить

var localDomainLC:LocalConnection = new LocalConnection();
var myDomainName = localDomainLC.domain;
avatar

abyss

  • 30 июля 2010, 19:21
+
0
А почему же не воспользоваться функцией split(".") и не проверить два последних элемента полученного массива? ИМХО код станет короче и понятней.
avatar

romamik

  • 22 сентября 2011, 14:27
+
0
Как же так? Я был уверен, что это свежий пост почему-то…
avatar

romamik

  • 22 сентября 2011, 14:31

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.