Fix hash-mode replaceHash() when page has a <base href /> #1396
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR attempts to fix a bug on pages that have HTML base tag.
Reproduce
Edit
./examples/hash-mode/index.html
and insert something like this:<!DOCTYPE html> + <base href="/" /> <link rel="stylesheet" href="/global.css"> <a href="/">← Examples index</a> <div id="app"></div> <script src="/__build__/shared.js"></script> <script src="/__build__/hash-mode.js"></script>
node examples/server.js
then open http://localhost:8080/hash-mode/.Expect
window.location
got replaced intohttp://localhost:8080/hash-mode/#/
.Actual
Browser is redirected to
http://localhost:8080/#/
instead.This PR should fix it. Regarding tests, I'm not sure whether we should change the existing hash-mode test specs or create a new one.