node icon indicating copy to clipboard operation
node copied to clipboard

doc: hash navigation seems broken

Open vsemozhetbyt opened this issue 4 years ago • 13 comments

📗 API Reference Docs Problem

  • Version: 16.6.2
  • Platform: Windows 10 x64

Location

Many API sections

Description

If you open an API page and then go to some hash part of the same page in the same tab, it seems OK:

current.gif

If you open an API page and then click on some hash link to open it in a new tab, the page in the new tab shifts (scrolls) further after a while by a significant amount (delayed loading of some dynamic content may be the culprit):

new.gif

Tested with the last Google Chrome version (95.0.4608.0).

vsemozhetbyt avatar Aug 15 '21 22:08 vsemozhetbyt

Confirmed. That's strange. @nodejs/website

Trott avatar Aug 16 '21 02:08 Trott

I can reproduce on Chrome 92 but not on Firefox 91. It work as expected there.

Edit: Microsoft Edge 92 also works fine so I suspect it is a Chrome issue.

lpinca avatar Aug 16 '21 05:08 lpinca

Tested on Safari, it also works as expected. 🤔

Ayase-252 avatar Aug 16 '21 06:08 Ayase-252

Posted as Chromium issue to be on the safe side: https://bugs.chromium.org/p/chromium/issues/detail?id=1240147

vsemozhetbyt avatar Aug 16 '21 13:08 vsemozhetbyt

Chrome version 117.0.5938.92 on Windows10 can be reproduced. But I use ctrl+shift+R reload page, it will scroll to wrong position, and the probability of occurrence is 50%. The gif can be found at here

KuthorX avatar Oct 11 '23 10:10 KuthorX

I can reproduce this problem on Firefox. Clicking on a link in the ToC will very often send me to a completely different part of the page:

https://github.com/nodejs/node/assets/79560998/e3b820f7-f87e-481c-8f91-2e7d0c3a3e4d

I don't believe this is a browser issue.

valadaptive avatar Jun 28 '24 23:06 valadaptive

I posted this in #53584, but posting it here as well.

This is not a Chromium bug, and occurs in Firefox as well. I believe it was not previously showing up in Firefox simply because they had not yet implemented the relevant CSS feature.

This appears to be an effect of https://github.com/nodejs/node/pull/37301. Lazy-loading the content means it is impossible for the browser to tell where to jump to, because it hasn't done the layout. And it hasn't done the layout because we explicitly told it not to. This is not a bug, this is the feature working as intended.

Optimizing for the case of reading the entire API docs on a single huge page, at the expense of making it frustrating and difficult to navigate the individual documentation sections that show up way more often in web search results, seems like the wrong decision to me.

valadaptive avatar Jun 29 '24 00:06 valadaptive

If you find the culprit, feel free to submit a patch :-)

avivkeller avatar Jun 29 '24 00:06 avivkeller

The fix would be reverting #37301. Would that be acceptable?

valadaptive avatar Jun 29 '24 00:06 valadaptive

You can try, whether or not it lands is a discussion for the PR, not this issue.

avivkeller avatar Jun 29 '24 00:06 avivkeller

Ah, looks like it was already attempted in https://github.com/nodejs/node/pull/41869. Apparently removing the hack causes some breakage, although no screenshots were provided. Currently trying to figure out how to build the documentation...

valadaptive avatar Jun 29 '24 00:06 valadaptive

OK, just tracked it down and it was fixed in https://github.com/nodejs/node/pull/53510 already which hasn't landed yet

valadaptive avatar Jun 29 '24 01:06 valadaptive

OK, just tracked it down and it was fixed in https://github.com/nodejs/node/pull/53510 already which hasn't landed yet

That PR has landed

avivkeller avatar Jun 29 '24 01:06 avivkeller