Support on first page and refreshes

Takes a different path through the code on first page load which means
you can refresh a page and get it to work, not just have it work on
internal navigation
Only split on first equal sign

Only split on first equal sign (=) for each name value pair. This will
ensure values with equal signs are kept intact.