For what it's worth, there are some SEO benefits to placing in-line
javascript at the bottom of the page (this advice excludes external
javascript files). In essence, search engines assign higher priority
to words that appear closer to the beginning of the code. Search
engines, naturally, can't detect what words appear closer to the top
of the page in the final user display. So, by placing your inline
javascript at the bottom of the page, you allow the actual content of
your page to appear higher in the code.

rjs

On Jan 8, 10:15 pm, rpflo <[email protected]> wrote:
> Tangent!
>
> On Jan 8, 7:05 am, "Thierry bela nanga" <[email protected]> wrote:
>
> > 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
>
> ...
>
> read more »

Reply via email to