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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.02.2011, 14:24
tovarz вне форума Посмотреть профиль Отправить личное сообщение для tovarz Найти все сообщения от tovarz
  № 1  
Ответить с цитированием
tovarz

Регистрация: Jan 2011
Сообщений: 15
По умолчанию можно ли получить html код страницы?

Можно ли средствами AS3 получить html код страницы, на который в данный момент находится скомпилированный swf-файл ?

Старый 05.02.2011, 15:29
tsarapkabel вне форума Посмотреть профиль Отправить личное сообщение для tsarapkabel Найти все сообщения от tsarapkabel
  № 2  
Ответить с цитированием
tsarapkabel
 
Аватар для tsarapkabel

Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
http://www.flasher.ru/forum/showthre...%E0%F2%FC+html
__________________
Нормально делай — нормально будет!

Старый 10.02.2011, 10:29
tovarz вне форума Посмотреть профиль Отправить личное сообщение для tovarz Найти все сообщения от tovarz
  № 3  
Ответить с цитированием
tovarz

Регистрация: Jan 2011
Сообщений: 15
Вот фрагмент кода, как я получаю html код страницы.

Код AS3:
uLoader=new URLLoader();
uReq = new URLRequest("URL_Страницы"); 
uLoader.load(uReq);
uLoader.addEventListener(Event.COMPLETE,onComplete);
 
}
 
 
function onComplete(e:Event):void
{
var s: String = e.target.data;
_label.text=s;
 
}
Но что то onComplete не выполняется. Возможно, на сервере где находится страница, есть crossdomain.xml. А есть ли способ получения html кода стрнаницы другим способом, отличным от того который описан выше?


Последний раз редактировалось iNils; 10.02.2011 в 14:05.
Старый 10.02.2011, 12:16
bav вне форума Посмотреть профиль Отправить личное сообщение для bav Найти все сообщения от bav
  № 4  
Ответить с цитированием
bav
 
Аватар для bav

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
tovarz, не забывайте обрамлять код соответствующими тегами. Прочтите об этом в правилах раздела. Не знаю, будет ли еще актуален приводимый мной код.
Код AS3:
package 
{
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.net.URLLoader;
    import flash.net.URLRequest;
    import flash.text.TextField;
    import flash.text.TextFormat;
    import flash.external.ExternalInterface;
 
    [SWF(width="1024", height="768", frameRate="12", backgroundColor="#555555")]
 
    public class Main extends Sprite 
    {
        private const MARGIN:int = 10;
        private var _output:TextField;
        private var _url:String;
 
        public function Main()
        {
            if (stage) init();
            else addEventListener(Event.ADDED_TO_STAGE, init);
        }
 
        private function init(event:Event = null):void
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);
            createOutput();
 
            try {
                _url = ExternalInterface.call("function(){return document.location.toString()}");
            }
            catch (error:Error) {
                _output.appendText(error.message);
            }
 
            if (_url)
            {
                var loader:URLLoader = new URLLoader();
                var request:URLRequest = new URLRequest(_url);
                loader.addEventListener(Event.COMPLETE, onComplete);
                loader.load(request);
            }
        }
 
        private function createOutput():void
        {
            _output = new TextField();
            _output.width = stage.stageWidth - MARGIN * 2;
            _output.height = stage.stageHeight - MARGIN * 2;
            _output.border = true;
            _output.background = true;
            _output.wordWrap = true;
            _output.multiline = true;
            _output.defaultTextFormat = new TextFormat("_typewriter");
            _output.x = _output.y = MARGIN;
 
            addChild(_output);
        }
 
        private function onComplete(event:Event):void
        {
            _output.text = (event.target as URLLoader).data;
        }
    }
}

Старый 10.02.2011, 12:49
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 5  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Код AS3:
 try {
                _url = ExternalInterface.call("function(){return document.location.toString()}");
            }
            catch (error:Error) {
                _output.appendText(error.message);
            }
Может просто
Код AS3:
if(ExternalInterface.available) {
// blah-blah-blah
}
?
__________________
...вселенская грусть

Старый 10.02.2011, 12:56
bav вне форума Посмотреть профиль Отправить личное сообщение для bav Найти все сообщения от bav
  № 6  
Ответить с цитированием
bav
 
Аватар для bav

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Да, так действительно проще.

Старый 10.02.2011, 16:25
incoob вне форума Посмотреть профиль Отправить личное сообщение для incoob Найти все сообщения от incoob
  № 7  
Ответить с цитированием
incoob

Регистрация: Mar 2008
Сообщений: 215
Возможно tovarz хочет получить не урл страницы, а ее содержимое? Тогда ему надо смотреть в сторону innerHTML. Будет примерно так:
Код AS3:
var pageContent:String = ExternalInterface.call("function(){return document.body.innerHTML}") as String;

Старый 10.02.2011, 16:46
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 8  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Итого:

Способ 1
Загрузить страницу при помощи URLLoader. Если адрес известен, доступность ExternalInterface не требуется. Получаем код страницы в том виде, в котором он написан.

Способ 2
Получить код страницы через ExternalInterface. Для этого он, естественно, должен быть доступен. В этом случае мы получаем не изначальный код страницы, а код существующей иерархии документа. Грубо говоря, если на странице есть скрипт, который в нее что-то дописывает (вставляет баннер например), то в первом случае мы получим изначальную страницу, а во втором - страницу с дописанным куском.
__________________
тонкий тролль, осеянный благодатью

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

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

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


 


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


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