fire page:before-change consistently