Avatar billede mac10 Nybegynder
29. april 2008 - 21:49 Der 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.
Avatar billede olebole Juniormester
29. april 2008 - 22:48 #1
<ole>

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  =)

/mvh
</bole>
Avatar billede mac10 Nybegynder
30. april 2008 - 13:12 #2
Hej Ole

Det er ikke helt korrekt det du siger.

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)
Avatar billede mac10 Nybegynder
30. april 2008 - 13:22 #3
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.
"
Avatar billede w13 Novice
30. april 2008 - 13:23 #4
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:

<a href="siden.htm" onclick="LOADSIDENMEDAJAX-FUNKTION();return false">link</a>

Så burde Google følge linket til siden.htm, mens brugere med JavaScript slået til kun vil få vist den med AJAX.
Avatar billede mac10 Nybegynder
30. april 2008 - 13:29 #5
w13

Jeg er ikke bekendt med javascript, derfor jeg søger en løsning jeg evt. kan tilpasse eller så småt udvide.

Er det muligt for dig at hjælpe med noget kode?
Avatar billede w13 Novice
30. april 2008 - 13:42 #6
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. :)
Avatar billede w13 Novice
30. april 2008 - 13:44 #7
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.
Avatar billede montago Praktikant
30. april 2008 - 14:34 #8
Hey mac10

Du skulle vel aldrig side og programmere i asp.net / ajax ?

i så fald er det ret nemt at lave en 'loader'
Avatar billede mac10 Nybegynder
02. maj 2008 - 23:12 #9
Hej montago

Nej jeg har hverken erfaring med at programmere i asp.net eller ajax. Jeg programmerer i php.

Med "nemt" mener du måske at jeg kunne se noget kode? :)
Avatar billede montago Praktikant
03. maj 2008 - 01:35 #10
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...
Avatar billede olebole Juniormester
03. maj 2008 - 14:33 #11
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  =)
Avatar billede mac10 Nybegynder
10. november 2010 - 12:40 #12
Lav svar tak
Avatar billede w13 Novice
10. november 2010 - 12:48 #13
Her er et fra mig, hvis du kunne bruge noget!
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester