我有一个AIR应用程序,正在加载mx:HTMLs。我想屏蔽其中显示的广告,就像火狐的Adblock Plus一样(参见http://adblockplus.org/en/)。我订阅了Easylist USA过滤器。
var req:URLRequest = new URLRequest("http://www.google.com");
thisHtmlWindow.open();
thisHtmlWindow.htmlContent.htmlLoader.load(req);我不知道从哪里开始中断actionscript中的HTML获取过程。这就是我想我可以添加HTTP过滤器的地方。订阅过滤器并定期下载/更新它,以确保主要的广告网络被屏蔽,这将是很好的。
发布于 2010-12-15 05:37:46
问得好。我首先截取从请求返回的结果,操作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);
}https://stackoverflow.com/questions/4444414
复制相似问题