Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Standard Widget Toolkit (SWT) » SWT Browser event listener issues
SWT Browser event listener issues [message #1016285] Tue, 05 March 2013 20:07
Carsten Reckord is currently offline Carsten ReckordFriend
Messages: 19
Registered: June 2012
Junior Member
Hi,

I'm using the SWT Browser component to show a website in an Eclipse Dialog.
I'm trying to handle links on that page specially through listeners
registered on the Browser, but I'm running into issues there.

What I'm trying to achieve is basically to open any link leading away from
the page in an external browser window using the IWorkbenchBrowserSupport.

Here's the problems I'm encountering:

1) LocationListener.changing(...) is not just called for "real" navigation
events (i.e. those that would change the Browser's URL), but also for
scripts that dynamically load additional content and for embedded objects. I
can't see any clear way to discern between the two.

2) Some links on the page have a target (e.g. target="_blank"), causing them
to open in a separate window/tab. I'd like to trap that, too, and handle it
through the BrowserSupport. However
a) while the notified OpenWindowListener can cancel the operation (so I
could theoretically trigger the IWorkbenchBrowserSupport instead). However
there seems to be no way to access the URL that should be opened at this point.
b) no LocationEvent is fired for those events

As a workaround for 2) I'm currently rewriting the DOM on load and removing
all target attributes. However, that doesn't fix cases of window.open() or
new links from dynamic DOM manipulation...

As a corollary to 1) it seems that every one of those dynamic load cases
also comes with its own progress events which I receive interleaved with the
"main" progress without a clear way to separate them.


Any ideas?
Previous Topic:SWT Browser (IE9) F12 Developer Tools
Next Topic:Text truncated in Table
Goto Forum:
  


Current Time: Wed Nov 26 01:42:30 GMT 2014

Powered by FUDForum. Page generated in 0.01836 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software