Fix jumping to anchors with offline style

If the style changes after the browser already jumped to an anchor,
the resulting browser position will be messed up.
So, after we changed the style we need to make sure that we jump
to the anchor again.
Since browsers do not jump to anchors that they already jumped to,
that means first jumping to the top, then to the actual anchor.

Task-number: QTCREATORBUG-18448
Change-Id: I86c736adab6940903276f8a896b4054ddae11ebe
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
This commit is contained in:
Eike Ziller 2017-07-21 09:57:00 +02:00
parent 041df6e2ae
commit 3b962d16db

View File

@ -7,6 +7,16 @@ HTML.headerstyles = \
" <link rel=\"stylesheet\" type=\"text/css\" href=\"style/offline-simple.css\" />\n" \
" <script type=\"text/javascript\">\n" \
" document.getElementsByTagName(\"link\").item(0).setAttribute(\"href\", \"style/offline.css\");\n" \
" // loading style sheet breaks anchors that were jumped to before\n" \
" // so force jumping to anchor again\n" \
" setTimeout(function() {\n" \
" var anchor = location.hash;\n" \
" // need to jump to different anchor first (e.g. none)\n" \
" location.hash = \"#\";\n" \
" setTimeout(function() {\n" \
" location.hash = anchor;\n" \
" }, 0);\n" \
" }, 0);\n" \
" </script>\n"
HTML.postheader = \