LightWindow is perhaps one of the best of the LightBox-type implementations around, supporting almost every media type currently in use.
I found a few gotchas, but these were very minor:
- needs XHTML pages with correct DOCTYPE for it work in IE
- Might need to edit lightwindow.js to correct the hardcoded paths to the skin elements
- Replace the first line with the second in the HTML HEAD:
You can grab the files here: http://www.stickmanlabs.com/lightwindow/lightwindow.zip
It turns out that Type.InvokeMember() does the trick when using a [Internet Explorer] WebBrowser control to load a web page.
private AxSHDocVw.AxWebBrowser axWebBrowser1;
private HTMLDivElementClass GetContainer()
HTMLDivElementClass container = null;
IHTMLDocument2 doc = axWebBrowser1.Document as IHTMLDocument2;
if (null != doc)
foreach (IHTMLElement element in doc.all)
if (element.id == "My_Container")
container = element as HTMLDivElementClass;
/// Gets the text from the container ///
/// A string containing the text of the container
private string GetText()
string result = null;
HTMLDivElementClass div = GetContainer();
if (null != div)
Type type = div.GetType();
result = (string) type.InvokeMember(
The HTML page loaded in the WebBrowser control has a DIV element with an id of “My_Container”, attached to which is a method called GetText(), which returns some arbitrary text.
AJAX has received a lot of hyperbole over the last year or so, with some people renaming the web to “Web 2.0” [groan] in its honour. It allows websites to present a richer, more interactive interface, breaking the “click Next” sequential, disconnected web paradigm.
AJAX is here to stay, though, at least for the next couple of years. Oracle have put together a series of articles on AJAX from a JSF perspective, which explain the basics of AJAX rather nicely.