проверка на 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

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

Комментарий был удален
0
можно воспользоваться?
0
Домен можно проще получить

var localDomainLC:LocalConnection = new LocalConnection();
var myDomainName = localDomainLC.domain;
0
А почему же не воспользоваться функцией split(".") и не проверить два последних элемента полученного массива? ИМХО код станет короче и понятней.
0
Как же так? Я был уверен, что это свежий пост почему-то…
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.