okay,

but if the computer is slow, you'll still have your content flashing, that's
why I hide it initially


On Thu, Jan 8, 2009 at 2:58 PM, Michal <[email protected]> wrote:

>
> That's what I suspected: in that case I prefer to have all my CSS just
> loaded as usual, and add the .js class to the body element on
> domready.
>
> Michal.
>
> On Jan 8, 1:40 pm, "Thierry bela nanga" <[email protected]> wrote:
> > you have to use domready otherwise you'll get errors
> >
> > and once again it is quite easy to inject css in the head
> >
> > external stylesheet
> > ---------------------------
> >
> > var e = document.createElement('LINK');
> >                         e.href = css;
> >                         e.rel = "stylesheet";
> >                         e.type = 'text/css';
> >                         document.head.appendChild(e);
> >
> > inline stylesheet
> > ------------------------
> >
> >                             var e = document.createElement('STYLE');
> >                             e.type = 'text/css';
> >                             document.head.appendChild(e);
> >
> >                             //inline stylesheet
> >                             if(window.ie) e.styleSheet.cssText =
> > styledeclaration;
> >                             else
> > e.appendChild(document.createTextNode(styledeclaration));
> >
> > On Thu, Jan 8, 2009 at 1:41 PM, Michal <[email protected]> wrote:
> >
> > > I think I was talking about including CSS, and not Javascript in the
> > > head, but I guess the same/similar method can be applied.
> >
> > > I wonder, is it ok to access the head element, via document.head or
> > > Assets, before it has has even fully loaded? The point of my hack was
> > > to include extra CSS *before* the DOM has loaded, so there is no
> > > chance of any flash of content.
> >
> > > Michal.
> >
> > > On Jan 8, 11:40 am, "Thierry bela nanga" <[email protected]> wrote:
> > > > anyway,
> >
> > > > your idea is not bad, i'll take a look at it.
> >
> > > > loading js is quite simple
> >
> > > >                         var e = document.createElement('SCRIPT');
> > > >                         e.src = js;
> > > >                         e.type = 'text/javascript';
> >
> > > >                         //I don't think this has an effect
> > > >                         if(defer) e.defer = true;
> >
> > > >                         document.head.appendChild(e);
> >
> > > > or you may use mootools Assets class.
> >
> > > > On Thu, Jan 8, 2009 at 12:28 PM, Thierry bela nanga <
> [email protected]
> > > >wrote:
> >
> > > > > if you request js with ajax and eval it, if there is a
> document.write,
> >
> > > > > the content of your page will be replaced by what you write.
> >
> > > > > On Thu, Jan 8, 2009 at 12:22 PM, Michal <[email protected]>
> > > wrote:
> >
> > > > >> I completely agree that document.write is bad (that's why I called
> it
> > > > >> a hackish method), but I'm unfamiliar with your reason about the
> blank
> > > > >> page, can you explain?
> >
> > > > >> Michal.
> >
> > > > >> On Jan 8, 10:42 am, "Thierry bela nanga" <[email protected]>
> wrote:
> > > > >> > using *document.write* is bad and should be avoided when you use
> > > ajax,
> >
> > > > >> > you may have a blank page when you evaluate an expression after
> the
> > > page
> > > > >> has
> > > > >> > been loaded.
> >
> > > > >> > instead you should use dom manipulation to load your js file.
> >
> > > > >> > On Thu, Jan 8, 2009 at 11:37 AM, Michal <
> [email protected]>
> > > > >> wrote:
> >
> > > > >> > > If it's ok for me to chime in. I use a way to minimize
> flashing
> > > (which
> > > > >> > > I use and like), and a bit of hack to completely remove
> flashing
> > > > >> > > (which I have used in the past, but I think no more). Both of
> > > these
> > > > >> > > leave content accessible to search engines and users without
> > > > >> > > Javascript.
> >
> > > > >> > > To minimize flashing:
> > > > >> > > - In the CSS, create rules starting with ".js" that hide all
> your
> > > > >> > > content that you want hidden if JS active
> > > > >> > > - On domready, add the class .js to the body element. If this
> is
> > > the
> > > > >> > > first domready listener, this should minimize flashing.
> >
> > > > >> > > To completely remove flashing:
> > > > >> > > - Has a CSS file with style that hides the content you want
> > > hidden,
> > > > >> > > but *don't* put this in your page.
> > > > >> > > - Instead, in the head section of your page, include a
> Javascript
> > > file
> > > > >> > > that uses document.write that writes the link tag to the page.
> > > This is
> > > > >> > > hackish, and won't work if the page is sent as
> > > application/xhtml+xml.
> >
> > > > >> > > By the way neither of these methods are mine, but I forget
> where I
> > > saw
> > > > >> > > them.
> >
> > > > >> > > Michal.
> >
> > > > >> > > On Jan 8, 9:46 am, "Thierry bela nanga" <[email protected]>
> wrote:
> > > > >> > > > I had to make a choice,
> >
> > > > >> > > > All the content is present on the page and is available to
> > > search
> > > > >> bot,
> > > > >> > > but
> > > > >> > > > some parts are hidden to avoid flashing and they are
> displayed
> > > by
> > > > >> > > removing
> > > > >> > > > the .hidden class.
> >
> > > > >> > > > On Wed, Jan 7, 2009 at 11:07 PM, CroNiX <
> [email protected]>
> > > > >> wrote:
> >
> > > > >> > > > > You care if your site content is available to search bots
> but
> > > not
> > > > >> > > > > visitors?  Strange...
> >
> > > > >> > > > > On Jan 7, 6:55 am, "Thierry bela nanga" <[email protected]
> >
> > > wrote:
> > > > >> > > > > > yeah but,
> >
> > > > >> > > > > > I use JS to build the page (tabs, etc), without it
> you'll
> > > have
> > > > >> an
> > > > >> > > ugly
> > > > >> > > > > > content. the content remain available for search bots
> that's
> > > the
> > > > >> most
> > > > >> > > > > > important for me.
> >
> > > > >> > > > > > On Wed, Jan 7, 2009 at 3:47 PM, Guillermo Rauch <
> > > > >> [email protected]>
> > > > >> > > > > wrote:
> > > > >> > > > > > > Which makes the content unavailable for people with
> CSS on
> > > but
> > > > >> JS
> > > > >> > > off.
> >
> > > > >> > > > > > > On Wed, Jan 7, 2009 at 12:39 PM, Thierry bela nanga <
> > > > >> > > [email protected]
> > > > >> > > > > >wrote:
> >
> > > > >> > > > > > >> my method to avoid this is to hide content initially
> with
> > > > >> css, i
> > > > >> > > > > define a
> > > > >> > > > > > >> class .hidden {display: none} and then I use the
> domready
> > > to
> > > > >> > > remove
> > > > >> > > > > the the
> > > > >> > > > > > >> class.
> >
> > > > >> > > > > > >> On Wed, Jan 7, 2009 at 3:01 PM, keif <
> > > [email protected]>
> > > > >> > > wrote:
> >
> > > > >> > > > > > >>> FUC = Flash of Unstyled/Unrendered Content
> >
> > > > >> > > > > > >>> This cropped up mainly because of an alphaPNG
> script,
> > > > >> extended
> > > > >> > > > > > >>> elements script, and a couple other scripts that
> modifed
> > > the
> > > > >> > > page.
> >
> > > > >> > > > > > >>> On Jan 5, 7:46 am, Michal <[email protected]
> >
> > > wrote:
> > > > >> > > > > > >>> > FUC?? I think maybe I'm not that good with those
> > > internet
> > > > >> > > > > acronyms....
> >
> > > > >> > > > > > >>> > On Jan 5, 12:32 pm, keif <[email protected]>
> > > wrote:
> >
> > > > >> > > > > > >>> > > With putting scripts at the bottom, it's been
> more
> > > of a
> > > > >> > > "YMMV"
> > > > >> > > > > > >>> > > approach - I can't find the yahoo article, but
> it's
> > > been
> > > > >> > > > > discussed
> > > > >> > > > > > >>> > > more than once that many people say "put it in
> the
> > > > >> footer"
> > > > >> > > when
> > > > >> > > > > it's
> > > > >> > > > > > >>> > > not a practice they follow themselves because of
> > > certain
> > > > >> > > issues
> > > > >> > > > > (one
> > > > >> > > > > > >>> > > thing I've noticed, loading all JS in the footer
> > > causes
> > > > >> FUC
> > > > >> > > > > > >>> > > sometimes).
> >
> > > > >> > > > > > >>> > > -keif
> >
> > > > >> > > > > > >>> > > On Jan 5, 5:38 am, Nicolas Trani <
> > > [email protected]>
> > > > >> wrote:
> >
> > > > >> > > > > > >>> > > > Hi,
> >
> > > > >> > > > > > >>> > > > @Michal :
> > > > >> > > > > > >>> > > > Putting scripts at bottom speed up your page
> > > loading,
> > > > >> i
> > > > >> > > suggest
> > > > >> > > > > you
> > > > >> > > > > > >>> to
> > > > >> > > > > > >>> > > > read this :
> >
> > >http://developer.yahoo.com/performance/rules.html#js_bottom
> >
> > > > >> > > > > > >>> > > > @Wanlee :
> > > > >> > > > > > >>> > > > I suggest you to continue to use domready
> anyway.
> >
> > > > >> > > > > > >>> > > > Maye be you can post a page to show your code?
> >
> > > > >> > > > > > >>> > > > Regards.
> >
> > > > >> > > > > > >>> > > > Michal a écrit :
> >
> > > > >> > > > > > >>> > > > > Are you saying that 'domready' fires too
> early,
> > > > >> before
> > > > >> > > the
> > > > >> > > > > html
> > > > >> > > > > > >>> is
> > > > >> > > > > > >>> > > > > ready? This sounds strange. It could be:
> >
> > > > >> > > > > > >>> > > > > - A bug with domready. I suspect this is
> > > unlikely as
> > > > >> this
> > > > >> > > is
> > > > >> > > > > so
> > > > >> > > > > > >>> > > > > heavily used and tested. But if you can
> > > construct a
> > > > >> > > testcase,
> > > > >> > > > > > >>> post a
> > > > >> > > > > > >>> > > > > bug in lighthouse.
> > > > >> > > > > > >>> > > > > - A bug with your code somewhere: are you
> sure
> > > > >> everything
> > > > >> > > > > that
> > > > >> > > > > > >>> > > > > accesses the DOM is inside a domready
> listener?
> >
> > > > >> > > > > > >>> > > > > I have seen advice somewhere on the internet
> > > that
> > > > >> says
> > > > >> > > you
> > > > >> > > > > should
> > > > >> > > > > > >>> put
> > > > >> > > > > > >>> > > > > Javascript at the bottom of the html, but
> it's
> > > never
> > > > >> > > quite
> > > > >> > > > > sat
> > > > >> > > > > > >>> well
> > > > >> > > > > > >>> > > > > with me, it seems a bit hackish, but I don't
> > > quite
> > > > >> know
> > > > >> > > why.
> > > > >> > > > > I
> > > > >> > > > > > >>> always
> > > > >> > > > > > >>> > > > > put it in the head, with a domready. Maybe
> > > others
> > > > >> have
> > > > >> > > other
> > > > >> > > > > > >>> > > > > suggestions...
> >
> > > > >> > > > > > >>> > > > > There is the 'load' event, that waits for
> all
> > > images
> > > > >> to
> > > > >> > > load
> > > > >> > > > > as
> > > > >> > > > > > >>> well,
> > > > >> > > > > > >>> > > > > you could try that, but I suspect that there
> is
> > > > >> something
> > > > >> > > > > else
> > > > >> > > > > > >>> afoot.
> >
> > > > >> > > > > > >>> > > > > Can you post a link to the page you're
> talking
> > > > >> about?
> >
> > > > >> > > > > > >>> > > > > Michal.
> >
> > > > >> > > > > > >>> > > > > On Jan 5, 8:32 am, wanlee <
> > > [email protected]>
> > > > >> > > wrote:
> >
> > > > >> > > > > > >>> > > > >> I'm writing a few functions for sliders and
> > > json
> > > > >> > > requests
> > > > >> > > > > and it
> > > > >> > > > > > >>> > > > >> appears that the javascript is loading
> faster
> > > than
> > > > >> the
> > > > >> > > html
> > > > >> > > > > > >>> causing
> > > > >> > > > > > >>> > > > >> the slider to not initialize. it doesn't
> happen
> > > on
> > > > >> every
> > > > >> > > > > page
> > > > >> > > > > > >>> load but
> > > > >> > > > > > >>> > > > >> more so in safari.
> >
> > ...
> >
> > read more »




-- 
fax : (+33) 08 26 51 94 51

Reply via email to