I have a Flex 3 application that generates HTML, PDF, and Excel reports
from SQL Server Reporting Services.
In the case of HTML, I've been using navigateToURL() to load the result
into the browser. This works fine, but I'd really like to embed the
HTML into a Flex container and "wrap" the application
navigation/header/footer around it so that the user stays in the Flex
app and has access to all of the site navigation, etc.
In the Flex/AIR documentation there's lots of examples that use
HTMLControl / URLRequest to load the HTML content of a URL and then add
the HTMLControl display object. However, the required
flash.html.HTMLControl library is not available in Flex.
I tried using flash.display.Loader / URLRequest and then used
this.rawChildren.addChild() but that doesn't seem to work either - the
page is just blank. I thought maybe I needed to specify the
height/width but that didn't make any difference. Here's the code I'm
using:
import flash.display.Loader;
import flash.net.URLRequest;
private function load_html() : void {
var html:Loader = new Loader();
var urlReq:URLRequest = new URLRequest("http://www.symetri.com/");
html.width = 900;
html.height = 900;
html.load(urlReq);
html_box.rawChildren.addChild(html);
}
The function runs on creationComplete() of the html_box VBox container.
Isn't there some type of HTMLLoader Flex component similar to SWFLoader
out there somewhere that will do this sort of thing? If not, any other
suggestions?