I currently have a GWT project utilizes the Activities and Places model provided by Google. We are integrating with a third party cross domain JavaScript solution that renders an external domain's JSP in an iframe and utilizes window.location transport to notify our domain when the user has finished doing work in this JSP.
The issue is that by using window.location transport GWT's place system will catch the editing of the URL and attempt to navigate to a nonexistant place.
We do have some influence to get the third party to change so the three options I can see are:
- Catch the attempted place navigation and ignore it if it contains a certain list of reserved strings that this third party JS uses.
- Get the third party to change their solution to utilize window.name (less refactoring on their part)
- Get the third party to change their solution to utilize JSONP (more refactoring on their part)
Is there any way to actually achieve #1?
EDIT So I figured out how to achieve #1 by rolling my own version of GWT's PlaceHistoryHandler and changing the handleHistoryToken method. The real question is which of these three solutions is the best practice?