Actionscript htmlLoader блокировать рекламу - PullRequest
1 голос
/ 15 декабря 2010

У меня есть приложение AIR, которое загружает mx:HTML с. Я хотел бы заблокировать показ объявлений в них, как это делает Adblock Plus для Firefox (см. http://adblockplus.org/en/). Я подписан на фильтр Easylist USA.

var req:URLRequest = new URLRequest("http://www.google.com");
thisHtmlWindow.open();
thisHtmlWindow.htmlContent.htmlLoader.load(req);

Я не знаю, с чего начать прерывать процесс HTML GET-ting в actionscript. Здесь я подозреваю, что могу добавить фильтр HTTP. Было бы неплохо подписаться на фильтр и периодически загружать его / обновлять, чтобы убедиться, что основные рекламные сети заблокированы.

1 Ответ

1 голос
/ 15 декабря 2010

Хороший вопрос. Я бы начал с перехвата результата, который возвращается из запроса, манипулирования HTML, а затем загрузил бы его в HTMLLoader. Вы делаете это, первоначально извлекая ваш контент, используя URLLoader, а не HTMLLoader. После того, как вы получите и управляете своим контентом, установите его в свой HTMLLoader, используя HTMLLoader.loadString. Надеюсь, это поможет.

РЕДАКТИРОВАТЬ: Вот небольшой код для вас.

var urlLoader:URLLoader = new URLLoader();

public function loadUrl(url:String):void {
    var request:URLRequest = new URLRequest(url);
    _urlLoader.addEventListener(Event.COMPLETE, onHtmlLoaded);
    _urlLoader.load(request);
}

private function onHtmlLoaded(event:Event):void {
    _urlLoader.removeEventListener(Event.COMPLETE, onHtmlLoaded);

    // This is where you can mess with the data before setting it
    var content:String = _urlLoader.data as String;

    myHtmlComponent.htmlLoader.loadString(content);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...