actionscript-3flashweb-content

display only a specific content in AS3 code using webStage View


I'd like to display, in my app, only a part of a web page. On this website, I'd like to display, in my app, only the div id "MovieCart".

enter image description here

What should I write in my as3 code in order to do so ?

For now, I have this line :

webView.loadURL("http://www.cinecity.nc/Cinecity/Film/40565");

But, of course, it's displaying the fullwebpage.


EDIT

So, I've tried this :

 webView.addEventListener(Event.COMPLETE,onComplete);
var res : String = ExternalInterface.call("function(){return document.getElementById('movieCart').outerHTML}");
var urlOfMovie: URLRequest = new URLRequest("http://www.cinecity.nc/Cinecity/Film/40567");
var loaderMovie:URLLoader = new URLLoader();
loaderMovie.load(urlOfMovie);
 webView.loadString(res);

But, as it's an AIR app, ExternalInterface.call can't be call. Any idea ?


Solution

  • Here is one easy way you can accomplish this:

    //First, load the full page as you're currently doing:
    webView.addEventListener(Event.COMPLETE, webLoadComplete); //listen for when the load is finished
    webView.loadURL("http://www.cinecity.nc/Cinecity/Film/40565");
    
    //runs when the load finishes
    function webLoadComplete(e:Event):void {
        webView.removeEventListener(Event.COMPLETE, webLoadComplete); //stop listening
    
        //second, invoke the following Javascript on the page which assigns the `MovieCart` element as the html for the whole document body
        webView.loadURL("javascript:document.body.innerHTML = document.getElementById("MovieCart").outerHTML");
    }
    

    Disclaimer: Keep in mind that scrapping content from websites is generally frowned upon and you may be infringing on peoples work/copyrights by doing so.