[ https://issues.apache.org/jira/browse/TAP5-1048?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andy Blower updated TAP5-1048: ------------------------------ Description: I'm having the issue described in TAP5-56, and although it's fairly easily solved using a component (see: http://markmail.org/message/aidg4w223t5yaass) or some other way, this is still not sufficient. The problem is in the ordering of the stylesheets in the final rendered HTML output. The addStylesheetsToHead() method of DocumentLinkerImpl adds the included stylesheets and then moves them before any stylesheet links already in the dom. This fails if one of the existing stylesheet links is a conditional one, as findExistingElement() doesn't find the comment. I've tried modifying the service, but because comments are Raw node, it's difficult to put a bunch of Element nodes before one in the DOM. The only way I could think of is included as a patch - findExistingElement() can return the previous Element which can then have the link element nodes placed after rather than before. This works, but is not very satisfactory. I can't use this anyway because overriding that T5 DocumentLinkerImpl is fragile and breaks in some of our environments. I spent several hours aliasing and overriding this 'service' before I realised that DocumentLinker is not actually a service! It's in the internal.services package, but isn't actually a service - it's instantiated directly. was: I'm having the issue described in TAP5-56, and although it's fairly easily solved using a component (see: http://markmail.org/message/aidg4w223t5yaass) or some other way, this is still not sufficient. The problem is in the ordering of the stylesheets in the final rendered HTML output. The addStylesheetsToHead() method of DocumentLinkerImpl adds the included stylesheets and then moves them before any stylesheet links already in the dom. This fails if one of the existing stylesheet links is a conditional one, as findExistingElement() doesn't find the comment. I've tried modifying the service, but because comments are Raw node, it seems impossible to put a bunch of Element nodes before one in the DOM. > Support for IE conditional stylesheets will need changes to DocumentLinkerImpl > ------------------------------------------------------------------------------ > > Key: TAP5-1048 > URL: https://issues.apache.org/jira/browse/TAP5-1048 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-core > Affects Versions: 5.1.0.5 > Reporter: Andy Blower > Priority: Minor > Attachments: TAP5-1048-patch.txt > > > I'm having the issue described in TAP5-56, and although it's fairly easily > solved using a component (see: http://markmail.org/message/aidg4w223t5yaass) > or some other way, this is still not sufficient. The problem is in the > ordering of the stylesheets in the final rendered HTML output. The > addStylesheetsToHead() method of DocumentLinkerImpl adds the included > stylesheets and then moves them before any stylesheet links already in the > dom. This fails if one of the existing stylesheet links is a conditional one, > as findExistingElement() doesn't find the comment. > I've tried modifying the service, but because comments are Raw node, it's > difficult to put a bunch of Element nodes before one in the DOM. The only way > I could think of is included as a patch - findExistingElement() can return > the previous Element which can then have the link element nodes placed after > rather than before. This works, but is not very satisfactory. > I can't use this anyway because overriding that T5 DocumentLinkerImpl is > fragile and breaks in some of our environments. I spent several hours > aliasing and overriding this 'service' before I realised that DocumentLinker > is not actually a service! It's in the internal.services package, but isn't > actually a service - it's instantiated directly. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.