actionscript htmlLoader阻止广告

时间:2010-12-14 21:28:26

标签: html flex actionscript

我有一个正在加载mx:HTML的AIR应用。我想屏蔽其中显示的广告,就像Adblock Plus for 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过程。这是我怀疑我可以添加HTTP过滤器的地方。订阅过滤器并定期下载/更新它以确保主要广告网络被阻止是很好的。

1 个答案:

答案 0 :(得分:1)

好问题。我首先拦截从请求返回的结果,操纵HTML,然后将其加载到HTMLLoader中。您可以通过最初使用URLLoader而不是HTMLLoader检索内容来执行此操作。获取并操作内容后,使用HTMLLoader.loadString将其设置为HTMLLoader。希望有所帮助。

编辑:这里有一些代码。

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);
}