Нахождение адреса сайта из ActionScript`a

В комментарии к посту Работа с Видео. Класс NetStream и NetStatusEvent задали вопрос: “как сделать что бы на плеере показывал адрес сайте?”

А вот простой способ как это сделать:
Необходимо обратиться к свойствам класса LoaderInfo, который обеспечивает сведения о загружаемом SWF-файле, в частности к свойству loaderInfo.loaderURL, дающий URL-адрес SWF-файла. Затем обработать полученный результат классом RegExp, позволяющим работать с регулярными выражениями.

Вот простой пример реализации выше сказанного:

  1. package {
  2. import flash.display.Sprite;
  3. import flash.text.TextField;
  4.  
  5. public class test extends Sprite
  6. {
  7. public var tDebug:TextField = new TextField();
  8.  
  9. public function test()
  10. {
  11. this.tDebug.width = 400;
  12. this.addChild(this.tDebug);//Просто для вывода результата
  13.  
  14. var pattern:RegExp = /w{3}\.\w+\.\w+/i;//регулярное вырожение для нахождения адреса сайта
  15.  
  16. var loaderURL:String = this.loaderInfo.loaderURL;//Абсолютный путь к .swf файлу
  17.  
  18. this.tDebug.text = loaderURL+"\n";//Выводит абсолютный путь
  19. this.tDebug.appendText("RegExp Result: "+pattern.exec(loaderURL));//Выводит адресс сайта
  20.  
  21. }
  22. }
  23. }

тест примера: http://www.merlinds.com/test

Хелп по Использованию регулярных выражений

You can leave a response, or trackback from your own site.
(Еще не оценили)
Загрузка ... Загрузка ...

7 Responses to “Нахождение адреса сайта из ActionScript`a”

  1. BlooDHounD пишет:

    а если названии сайта не будет www?
    а если флэшка с другого сайта тягается?
    а если у флэшки будет установлен base в хтмл?

  2. BlooDHounD пишет:

    или это будет поддомет 2го и болие уровней?

  3. Merlin пишет:

    Это регулярное выражение написано для примера. Можно сделать более полноценный RegExp который будет учитывать большее количество возможных вариантов :) Я не зря дал ссылку на хелп по Регуляркам.
    Можно, конечно, путь записывать в LoadVars в хтмл и потом читать, но имхо, это более мучительный способ.

  4. BlooDHounD пишет:

    проблема не в регэкспе :) проблема в том, это вообще не ссылка на сайт. это “типа нафлэшку”, которая на самом деле может быть где угодно.

  5. Merlin пишет:

    Мммм да вы правы:) Переименую пост… или добавлю описание LoadVars :)

  6. BlooDHounD пишет:

    а причём тут LoadVars?

  7. a_[w] пишет:

    Можно с помощью ExternalInterface, если он available. :)

    ExternalInterface.call(”window.location.href.toString”)

    Вызовет метод Object.toString из JavaScript и вернёт строковое представление объекта во flash плеер.

Leave a Reply

Powered by WordPress | Visit BestInCellPhones.com for Free Verizon Cell Phones | Thanks to iCellPhoneDeals.com, MMORPG Games and Conveyancing