Stop History.js from changing the address URL

2019-09-05 12:26发布

问题:

I've been experimenting with History.js lately (https://github.com/browserstate/history.js/). I notice when you use the History.pushState(), History.js removes everything upto the first / and replaces that with the hash.

I.E. current url: www.google.com/something

History.pushState({},null,"something2");

sets the address bar to www.google.com/something2

whereas in HTML4 it would use the hash (#) -> www.google.com/something#something2

Is there anyway to disable this feature. I'l like it to not remove everything up to the '/', but without necessarily going back to HTML4. I know there's a History.options.html4Mode, but I still like how it stores the index internally, as opposed to using the suid.

回答1:

Within the History.js github repo, you can set the options to force hashtags as Default

History.js Github Readme, Options Link

History.options.html4Mode  

If true, will force HTMl4 mode (hashtags)