wxHtmlWindow and events

Regarding how to intercept data when users click on a link. Here's a suggestion on how to do this: create a new subclass of wx.HtmlWindow and override the default behavior for OnLinkClicked.

You'd wind up with something like this:

def OnLinkClicked(self, link):
    # Get the page at the link as a string
    page = urllib2.urlopen(link).read()
    # Do things to modify the page
    newpage = foo(page)
    # Display the modified page
    self.SetPage(newpage)

With your new class, you can also override a few other things to do some of the other tasks that you'd asked about.

i.e.: overriding OnOpeningURL and blocking the request if HistoryCanBack() returns True would limit users to being only able to navigate 1 page forward. (alternately, you could also limit them to only being able to view sites within a specific domain)

Checking HistoryCanBack() and HistoryCanForward() in OnOpeningURL would also be a place that you could enable or disable your forward/back buttons as needed.

Tim Tucker
tim@timtucker.com
http://www.timtucker.com/