【问题标题】:actionscript htmlLoader block adsactionscript htmlLoader 屏蔽广告
【发布时间】:2010-12-14 21:28:25
【问题描述】:

我有一个 AIR 应用程序正在加载 mx:HTMLs。我想像 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);

我不知道从哪里开始中断 actionscript 中的 HTML GET-ting 过程。这是我怀疑我可以添加 HTTP 过滤器的地方。订阅过滤器并定期下载/更新它以确保主要广告网络被阻止会很好。

【问题讨论】:

    标签: html apache-flex actionscript


    【解决方案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);
    }
    

    【讨论】:

    • 能否提供完成此任务的基本代码?我可以很容易地在 perl 和 PHP 中做到这一点,但 Actionscript 可能是我最弱的语言。我已经准备好逐行比较简单列表文件。
    猜你喜欢
    • 1970-01-01
    • 2014-08-24
    • 1970-01-01
    • 2014-09-03
    • 2021-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多