Headertab Speed - 1.16 versus 1.17
I've got two versions of my site on the same server, the current 1.16 version and a new 1.17 version. I have a test page (on both) that just loads 8 tabs and has some text under each tap; no queries are done. If I:
- Have the 1.16 and 1.17 versions up in IE9
- Delete temporary internet files
- Hit Refresh in each window at roughly the same time
The 1.17 page always takes longer to finish, and in the process of rendering shows the headertab titles in a bulleted list before showing the tabs. If I hit refresh in both windows again, the 1.17 version is still slower. This is true with Firefox and Chrome also.
The Dexid form link on the extension page also shows this list. I would guess I could block the list from showing up if I take a look at the code. But is the slow speed expected? Is there anything that can be done to speed it up? Thanks.
Headertabs in MM 1.17 onwards uses jQuery, and loading of the jQeury library is managed by MW's internal ResourceLoader. The issue with the bullet list has been discussed earlier on the SMW mailing list [1] and it seems for now there is no work around available that would allow a priority loading of the headertabs library. Any issues in regards with performance might be connected with the handling of the ResourceLoader library.
In addition to the speed issue, I like the look of the YUI version better. I tried forcing it to see how it would look by overriding the is_callable() check in HeaderTabs.php. It looked nice and familiar and rendered faster. But unfortunately, despite code in HeaderTabs_body.yui.php that checks the MW version, the tabs weren't clickable, and all of the tab contents were listed under the first tab like one page. I'm going to play with it more, unless someone wants to volunteer that the YUI version will never work with 1.17. Thanks.
I've had a few opportunities to fool around with it, and so far with my still-growing experience, the straight-forward things I've tried to get the YUI route working under 1.17 are failing. Is there some fundamental reason why it will never work?