29. april 2008 - 21:49Der er
12 kommentarer og 1 løsning
Load dynamisk indhold med Javascript / Ajax?
Hej alle
Nu har jeg googlet den sidste times tid og kan simpelthen ikke finde det.
Jeg vil lave en side, hvor der f.eks. er en top navigation som kunne se ud som: Forside - Profil - Service - Kontakt
Når man så klikker på f.eks. profil så fader siden og der kommer en "loader" på midten af siden, hvor den henter siden og viser så indholdet af "profil.html" eller lign.
Er der nogen der ligger inde med sådan et script eller kan linke til et? Siden jeg skal have lavet er med en masse billeder så det kræver lige at den loader siden når man klikker istedet for i starten, så den besøgende ikke skal vente lang tid før alt er loadet.
Det ville være overordentlig uklogt at loade indhold med JavaScript, hvis siderne skal kunne findes via søgemaskiner - og 80-90% af al trafik til et website kommer idag fra søgemaskiner. Søgemaskiner kan ikke se indhold, der er dynamisk loaded med JavaScript - f.eks. med Ajax =)
Det man gør er at man f.eks. loader sider som index.html, profil.html, service.html og kontakt.html
Det er rigtigt at de ikke kan findes via søgemaskiner på denne måde.
Men det man gør er at linke til indholdet, f.eks. i sin footer så google og andre søgemaskiner også fanger disse sider. Siderne eksisterer jo på serveren og hvis man laver links til disse sider vil den opfatte dem som ved brug af normale links.
Jeg har undersøgt diverse for at dette skal virke optimalt, nu mangler jeg blot en løsning til at loade siderne dynamisk :o)
Her er en lille tekst der fortæller, hvorfor min løsning er optimal:
"On a single page, if a navigational element is written by AJAX on every page load and is wrapped up in JavaScript, a solution can be having some alternative navigation on the page. Using footer links on a page for instance will work. And for these alternative links, these should lead to actual pages on their own URLs that would load the same content as what would load in the AJAX links. This way you please users with the visual appeal of AJAX and you still give alternative navigation and content that search engines can read and index. Where, if people get to visit these URLs, they will still be drawn to the AJAX pages. "
Ole har ret i, at Google ikke kan læse sider, der indlæses med AJAX, men hvis der også er normale links til disse sider, kan det selvfølgelig lade sig gøre.
En løsning kunne også være at bruge denne slags links:
Nej, jeg kan desværre ikke give dig en fuldt fungerende kode. Jeg blandede mig kun for at fortælle, at det altså kunne laves smartere end ved at lægge links i footer. :)
I øvrigt er netop AJAX meget svært at bruge korrekt, da der er en bunke forskellige ting, der skal tages højde for, altså medmindre du vil miste performance på din side.
nej, har desværre ikke noget kode liggende... og, det ville nok også fylde for meget...
i ASP.NET/Ajax er dét du efterspørger lavet som komponent, som i Visual Studio gøres ved Drag'n'Drop... samt lidt CSS fitting...
du bliver desværre nok nødt til at lave det selv, eller spørge direkte efter de teknikker du mangler for at få det til at virke :-)
Jeg har selv lave en side med wallpapers, hvor en "loading" skærm er fremme, indtil <body onload="finished()"> kaldes -- teknikken virker så længe hele sidens indhold skiftes... men det skulle være muligt at sætte en onload event på billeder og andre elementer og derved styre din load popup/overlay...
mac10 >> "Men det man gør er at linke til indholdet, f.eks. i sin footer så google og andre søgemaskiner også fanger disse sider. Siderne eksisterer jo på serveren og hvis man laver links til disse sider vil den opfatte dem som ved brug af normale links."
Det hjælper jo ikke meget. I så fald er det jo ikke den pågældende Ajax-side, der indekseres, men en side uden Ajax. Det betyder, at brugerne ikke finde dine Ajax-sider på Google - men sider uden Ajax. Da 80-90% af al trafik til et website kommer fra søgemaskiner, er der med andre ord noget, der tyder på, at Ajax-bestræbelserne er spildte kræfter. Jeg har set tusindvis af Ajax-applikationer, men endnu ikke set nogen løse søgemaskine problematikken på overbevisende måde.
Hvis valid og hensigtsmæssig kode er et parameter, du tager seriøst, bør du være yderst påpasselig med hvilke Ajax-/JavaScript-libraries, du vælger. Langt de fleste består i udstrakt grad af gammel, uhensigtsmæssig og/eller invalid kode - hvilket også gælder MS' nuværende .net-version. Dog har jeg hørt rygter om, at MS overvejer at gøre den næste version af Ajax valid =)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.