add preload function

with change url(using pushstate)