Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
The hard way
public class MyViewImpl implements MyView, AttachEvent.Handler {
interface Binder extends UiBinder<Widget, MyViewImpl> {}
private final Widget widget;
@Inject
MyViewImpl(Binder binder) {
widget = binder.createAndBindUi(this);
widget.addAttachHandler(this);
}
@Override
public void onAttachOrDetach(AttachEvent event) {
if (event.isAttached()) {
Document.get().setTitle("This is the new title of the page");
updateMetaTags();
}
}
private void updateMetaTags() {
injectMetaProperty("description", "This is the description");
injectMetaProperty("og:image", "http://placehold.it/350x150");
// ...
}
private void injectMetaProperty(String property, String value) {
Document document = Document.get();
MetaElement metaElement = document.createMetaElement();
metaElement.setName(property);
metaElement.setContent(value);
document.getHead().insertFirst(metaElement);
}
// ...
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment