I’m curious as to the best way to use the relatively new pushState feature for URL’s.
From what I understand, a hex “#” symbol is typically used:
http://www.somewebsite.com/page.html#someoperation
However, in browsers such as Safari, two “#” symbols cannot be used. This is an issue if you wish to store some data in the URL.
http://www.somewebsite.com/page.html#someoperation#somedata=data
…Because it converts the second hex to a “%23”.
I also understand that certain characters are “reserved” although I am unsure what this really means, and the “#” is one of them.
The
#delimits a fragment identifier which is why browsers may refuse to accept that character twice. Read RFC1738 and its successor RFC3986 for the full list of unsafe and reserved characters, there’s quite a lot of them.