Skip to content

Conversation

decademoon
Copy link
Contributor

According to the standard, if the URL parameter is omitted (or null) from the history.replaceState() call, the new URL should be the URL of the current entry. In Safari, however, when a <base> tag is present, if you omit the URL parameter, then Safari will assign the URL of the current entry to the base tag's href. This essentially breaks HTML5 history completely for Safari.

The bug I'm referring to seems to be exactly this one (but for Safari not Chrome).

I'm using the latest version of Safari (9.0.3).

I would've written a test for this, but you haven't configured a Safari Selenium driver (it's an OSX thing, so I dunno if that's able to be tested as part of your CI setup).

yyx990803 added a commit that referenced this pull request Jan 29, 2016
fix history.replaceState() with base and null url
@yyx990803 yyx990803 merged commit 43dcd42 into vuejs:dev Jan 29, 2016
@decademoon decademoon deleted the safari-base-bug branch January 30, 2016 00:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants