canjs / bit-docs-html-canjs

The plugins to produce CanJS.com
https://www.npmjs.com/package/bit-docs-html-canjs
MIT License
7 stars 0 forks source link

Fix scroll position restoration #569

Open chasenlehara opened 5 years ago

chasenlehara commented 5 years ago

Scroll position restoration is buggy in different browsers.

Here’s the code. I think most of it is unnecessary. https://github.com/canjs/bit-docs-html-canjs/blob/master/static/canjs.js#L334-L362

Below are a few common cases that we should get right. It’d be nice to have tests around these, similar to what we have for the sidebar: https://github.com/canjs/bit-docs-html-canjs/blob/9eefe6a660382b076557d252990d9eae925d26b4/sidebar/test.js#L302-L334

1. Scroll down and refresh the page

It’s completely broken in Firefox:

firefox scroll and refresh

2. Click on a specific section

When the user clicks on an in-page navigation link, the header for that section should be visible under the sticky header.

3. Refresh after going to a specific section

It lands on the wrong position in multiple browsers; here’s Firefox:

firefox refresh with id

4. Refresh after going to a specific section and scrolling

After refreshing, the user should end up where they scrolled, not back at the old section. I think this is broken in all browsers.

firefox refresh with id after scrolling