If I am missing something then, I apologize. All I know is that if I put two stylesheets into a document and lable one as "alternate stylesheet", I get inconsistent results for different browsers.
Even if that doesn't make a difference, using the script may take it differently since there is a space in the name. It may even require a more strict definition of "rel="stylesheet" for functionality.It would be a simple test for you to eliminate this possibility. On Sep 1, 7:03 pm, max goldberg <m...@tnug.com> wrote: > You are missing the point entirely. It doesn't matter if you define > the secondary stylesheets as alternate or not, it doesn't change the > behavior of those selectors. > > Using the DOM, it seems like all major browsers provide the > styleSheets interface, but not uniformly. > > For the sake of anyone else who's dealing with this in the future I'll > post my findings. > > document.styleSheets: > > Firefox and IE8: > Correctly list each stylesheet and set the disabled attribute > appropriately (e.g. stylesheets which arent applied are disabled=true) > > Webkit (Chrome/Safari): > Only lists the first non-alternate stylesheet (regardless if it is > applied applied) the disabled attribute seems to only be applied > correctly in certain situations. > For example if you list two stylesheets, both rel="stylesheet" and > the first media="print", it adds the print stylesheet to the list, but > claims disabled=false (despite it not being applied or applicable). > If you list two stylesheets both with rel="stylesheet" and both > with media="screen" it applies the first, adds it to the list and > correctly sets disabled=false. > If you use jquery to set disabled=false to the second stylesheet > link, it will then be added to the styleSheets object properly with > disabled=false. > If you set disabled=true to any stylesheet link, it will be removed > from document.styleSheets. > > In effect, Webkit only seems to keep the currently applied > stylesheets in document.styleSheets (regardless of media type) > > Opera: > Provides the document.styleSheets, but does not seem to put anything > in it under any circumstances I was able to try. > > So currently the only manageable workaround that works across all > browsers to change stylesheets is as follows: > > 1. Turn off all active style styles (you can also filter by title > etc.) by disabling their parent link: > > $('li...@rel*=stylesheet]:enabled').attr('disabled', true); > > 2. Turn on the style you want by using the title attribute (or media, > href etc.) > > $('li...@rel*=stylesheet][title="theme"]').attr('disabled', false); > > Hope this helps others with the same problem. > > In the future I hope Opera and Webkit emulate the document.styleSheets > functionality that IE and Firefox do, but I'm not holding my breath. > > Cheers, > -Max > > On Sep 1, 5:47 pm, Badbeer <insyn...@gmail.com> wrote: > > > > > Yes, "alternate stylesheets" vice just defining as "stylesheet" SHOULD > > make no difference but it does. Not all browsers work the same or > > follow standards, if they did, website design would be easy and ... > > we'd have a flood of people calling themselves website developers. > > > On Sep 1, 5:07 pm, max goldberg <m...@tnug.com> wrote: > > > > That makes no difference, "alternate stylesheets" are just that, given > > > the two options, every browser I've tried properly applies the > > > rel="stylesheet" and does not apply the rel="alternate stylesheet". IE > > > and Chrome both still return false positives when using :enabled. > > > > Firefox and IE (and I'm assuming most other major browsers) provide > > > functionality to change stylesheets (in Firefox View->Page Style and > > > IE View->Style), these browsers clearly have an internal > > > representation of which stylesheets are applied and which aren't, it > > > just isn't clear how or if it is possible to access that information. > > > > So far Firefox is the only browser which seems to apply the disabled > > > attribute to stylesheet declarations which are not currently applied. > > > There still seems to be no way to figure out on other browsers which > > > stylesheets are applied without setting them all to disabled=true and > > > then setting the one you want applied to disabled=false, which seems > > > like a big hack. > > > > On Sep 1, 4:20 pm, Badbeer <insyn...@gmail.com> wrote: > > > > > > <link type="text/css" rel="alternate stylesheet" href="theme.css" > > > > > title="theme" /> > > > > > I just noticed it... FF and other browsers don't know what to do with > > > > "alternate stylesheet" and don't load it. Make it just "stylesheet" > > > > and it will work.- Hide quoted text - > > > > - Show quoted text -- Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "jQuery Development" group. To post to this group, send email to jquery-dev@googlegroups.com To unsubscribe from this group, send email to jquery-dev+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/jquery-dev?hl=en -~----------~----~----~----~------~----~------~--~---