GNOME Bugzilla – Bug 685940
GENERATE_TREEVIEW breaks the back button in several browsers
Last modified: 2017-01-17 15:20:43 UTC
Created attachment 226239 [details] A Doxyfile an example class to reproduce the issue. When GENERATE_TREEVIEW is enabled the back button in several browsers (Firefox, Chrome, Safari) doesn't behave as intended after jumping to a detailed member description. The exact steps to reproduce are as follows: unzip treeview_breaks_backbutton.zip doxygen Doxyfile firefox html/index.html Navigate to "Class", then to "X" click the "what" member of X (jumps down to the detailed description of what) click the back button of the browser (nothing happens) click the back button again (jumps back to "Classes") The expected behavior after using the Back Button would be to jump to the position the window was at before clicking the member. The correct behavior can be observed with GENERATE_TREEVIEW = NO. This is a major annoyance in class documentation with many members. Attached is an example with a lot of pseudo-text in a class documentation and an enabled treeview where this can be reproduced in classX.html. As far as I can tell this is related to the rewriting of $(window).location performed by navtree.js.
The issue seems to be that overflow: auto used in navtree.css for #doc-content. Removing it breaks the layout, but restores the back button functionality. This is also reproducible in smaller layouts. Is this the expected behavior?
My current workaround is to rewrite the css for the top and footer divs using position: fixed. After that it is necessary to pad the doc-content div with the header and footer height. A css trick has to be applied to make the anchors respect the padding (This could be avoided by having two divs just for padding inside doc-contents). This has the drawback of not working on IE6, but this is not really a problem for me. This also makes some of the code in resize.js (which should be merged into navtree.js and the main NAVTREE variable should be moved to a separate file to enable colocation of more js files) unnecessary. All this is currently done through external stylesheets and overwriting of some of the javascript code, but could be factored into the generator code.
I think I found a better solution which only impacts the navtree.js. I will include this in the next subversion update.
This bug was previously marked ASSIGNED, which means it should be fixed in doxygen version 1.8.3. Please verify if this is indeed the case. Reopen the bug if you think it is not fixed and please include any additional information that you think can be relevant.
Hello Dimitri, This is still an issue. I can reproduce it with your own Doxygen documentation, in Chrome and IE. Others have told me they have reproduced the issue in Firefox too. Did you finally apply the patch? If you need extra information, please let me know. Thanks in advance