В комментарии к посту Работа с Видео. Класс NetStream и NetStatusEvent задали вопрос: “как сделать что бы на плеере показывал адрес сайте?”
А вот простой способ как это сделать:
Необходимо обратиться к свойствам класса LoaderInfo, который обеспечивает сведения о загружаемом SWF-файле, в частности к свойству loaderInfo.loaderURL, дающий URL-адрес SWF-файла. Затем обработать полученный результат классом RegExp, позволяющим работать с регулярными выражениями.
Вот простой пример реализации выше сказанного:
- package {
- import flash.display.Sprite;
- import flash.text.TextField;
- public class test extends Sprite
- {
- public var tDebug:TextField = new TextField();
- public function test()
- {
- this.tDebug.width = 400;
- this.addChild(this.tDebug);//Просто для вывода результата
- var pattern:RegExp = /w{3}\.\w+\.\w+/i;//регулярное вырожение для нахождения адреса сайта
- var loaderURL:String = this.loaderInfo.loaderURL;//Абсолютный путь к .swf файлу
- this.tDebug.text = loaderURL+"\n";//Выводит абсолютный путь
- this.tDebug.appendText("RegExp Result: "+pattern.exec(loaderURL));//Выводит адресс сайта
- }
- }
- }
тест примера: http://www.merlinds.com/test
RSS Feed
Twitter
Posted in
Tags: 
а если названии сайта не будет www?
а если флэшка с другого сайта тягается?
а если у флэшки будет установлен base в хтмл?
или это будет поддомет 2го и болие уровней?
Это регулярное выражение написано для примера. Можно сделать более полноценный RegExp который будет учитывать большее количество возможных вариантов
Я не зря дал ссылку на хелп по Регуляркам.
Можно, конечно, путь записывать в LoadVars в хтмл и потом читать, но имхо, это более мучительный способ.
проблема не в регэкспе
проблема в том, это вообще не ссылка на сайт. это “типа нафлэшку”, которая на самом деле может быть где угодно.
Мммм да вы правы:) Переименую пост… или добавлю описание LoadVars
а причём тут LoadVars?
Можно с помощью ExternalInterface, если он available.
ExternalInterface.call(”window.location.href.toString”)
Вызовет метод Object.toString из JavaScript и вернёт строковое представление объекта во flash плеер.