Important Notice - Forums is archived
To simplify things and help our users to be more productive, we have archived the current forum and focus our efforts on helping developers on Stack Overflow. You can post new questions on Stack Overflow or join our Discord channel.

Vaadin lets you build secure, UX-first PWAs entirely in Java.
Free ebook & tutorial.
Bug with Opera, URIFragmentUtility and plain link in CustomLayout
Got a ticket form our customer today about an interesting issue - happens with Vaadin 6.2.2 (maybe older versions are affected too) and Opera 9 and 10:
- A regular Vaadin app
- CustomLayout-based window
- URIFragmentUtility, attached to the window
- plain html link like:
<a href="#foo">Preferences</a>
in a CustomLayout html file
In all amjor browsers like IE, FF, Safari, Chrome - click to that plain html link results trigger in URIFragmentUtility. But not in Opera. When the link clicked in Opera, the address bar is changed to "http://localhost:8080/myapp#foo" but URIFragmentUtility does not react. Only when you hit page refresh button, an "uri fragment changed" event for #foo is triggered.
Not sure, if this an Opera specifics when handling clicks or bug in URIFragmentUtility/Window, as I was able to see this visually but my mac died past night so Im out of hands for today :(
P.S. The good point, Apple agreed to replace it with the new one :) but I have to wait about a month %|
This seems to be GWT issue #3956. The workaround from the issue tracker is to add
<!-- Opera needs a different implementation due to issue #3956 -->
<replace-with class="com.google.gwt.user.client.impl.HistoryImplTimer">
<when-type-is class="com.google.gwt.user.client.impl.HistoryImpl"/>
<any>
<when-property-is name="user.agent" value="opera"/>
</any>
</replace-with>
to the widgetset. At least this seemed to fix my test case for this issue.
EDIT: Created ticket #4099 for this.