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:
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.