Detta har tagits upp tidigare och jag har själv svarat på liknande frågor, men jag har aldrig tagit tag i det och byggt en lösning själv. Jag har en musikspelare i flash som jag vill ska fortsätta spela när man byter sida.
Jag har kommit fram till att detta kan lösas på följande sätt:
Frames/iFrames
Popup/nytt fönster
Cookie eller liknande som startar spelaren där den slutade (medför dock ett störande hack gissar jag)
Att man aldrig laddar om sidan utan tänder och släcker lager eller ännu bättre laddar in innehåll dynamiskt i behållare.
1-3 är uteslutna för mig och att ladda in allt i en enda sida och sedan tända och släcka känns inte heller aktuellt. Om det inte finns några ännu bättre sätt som jag inte har kommit på så är mitt alternativ alltså att ladda in innehåll med ajax?
Det vore såklart toppen om någon hade en länk till någon som har gjort exakt samma sak tidigare, men annars är jag mer ute efter riktlinjer. Jag googlade och hittade ett par trådar om ajax och paralleller till hur facebook laddar in saker, men det var inga riktigt bra svar jag fick tag på.
Jag är ingen fena på jQuery, men skulle det vara ett alternativ att använda? Hur bör jag tänka? Är det dumt att göra hela sidan kontrollerad på det här sättet? Hur funkar det med sökmotorer och back/forwardknapparna i webbläsaren om man bara håller sig till en sida?
Kommer jag att få länkar som:
index.php#hem
index.php#kontakt
etc.?
Jag har iofs tidigare bara haft en sida som jag hämtar in innehåll i men det har sökmotorerna klarat (querystrings: index.php?sida=hem), men i det fallet laddas ju hela sidan om.
Jag hittade följande länk som på ett enkelt sätt verkar beskriva hur jag kan åstadkomma det jag frågar efter och han tar även upp problemen med browserknappar och bookmarks, samt att det inte funkar utan javascript såklart.
Är det mer som jag borde tänka på innan jag gör om hela siten till en ajaxlösning? Finns det några bra workarounds för javascriptproblemet eller är det en hel site i sig för att lösa det för dem som surfar utan js?
Det är relativt enkelt att lösa med jQuery faktiskt.
Titta på http://api.jquery.com/load/ så kan du säkert lista ut en bra lösning.
Jag gjorde en sån själv faktiskt, men eftersom jag inte vill använda hash-länkar (pga seo) så fungerade inte varesig bakåtknapp eller webbläsarhistoriken.
Det är relativt enkelt att lösa med jQuery faktiskt.
Titta på http://api.jquery.com/load/ så kan du säkert lista ut en bra lösning.
Jag gjorde en sån själv faktiskt, men eftersom jag inte vill använda hash-länkar (pga seo) så fungerade inte varesig bakåtknapp eller webbläsarhistoriken.
Den löser problemet med historiken, men i adressfältet står det ju /jquery/jquery_history.html#3 vilket betyder att om jag kopierar adressen i adressfältet och länkar till den, så går länkkraften till fel sida.
Men i ärlighetens namn, hur störande är det inte på en skala när en hemsida börjar spela massa musik!? J*vligt irriterande...!! :-)
***
Enklaste varianten som också är snäll mot alla dina kräsna besökares tålamod är att göra ett pop-up fönster som endast innehåller din mediaspelare.
Sen kan dina kompetenta och förväntansfulla besökare klicka runt på din sida, SEO fungerar och allt är frid och fröjd...!! Dom kan till och med stänga fönstret med din sida och din mediaspelare fungerar i alla fall!
***
Gör som du vill. Jag har inga såna behov, men såna sidor gillar jag. Lycka till!!
Hm, inget fel med mediaspelare på sidan, om den behövs (t.ex. musiksite.) Man bör dock kanske inte låta den gå på autostart..
I vilket fall som helst, rekommenderar att du har serverspråk som motor, sedan kan du använda en fast layout, se till att innehållet hamnar i en bestämd div-tagg eller liknande. Skriv alla länkar precis som vanligt, dvs. med href="sida.aspx". På så vis kommer det fungera fint för sökmotorer, läsare utan javascript osv. Sedan använder du jQuery.
Vid varje sidladdning så går den igenom alla länkar, länkar som pekar på dina interna sidor skrivs om så de pekar på #_sidan_address_. När du fått ner innehållet, ersätt innehållet i din nuvarande "content" med det här innehållet, ev. rubriker också osv.
Du behöver använda BBQ för att se till att ladda rätt sida om man går framåt eller bakåt, eller bara följer en länk. Sök på BBQ på google. (Är ett plugin till jQuery)
Den nackdelen som finns är just det här med länkar, länkar kommer ju att peka fel om man klistrar in dem ifrån adressfältet, hurvia du ser det som ett stort problem eller inte är ju dock en annan femma, det finns inget sätt att lösa det på oavsett teknik, förutom att öppna spelaren i ett eget fönster.
så länge musikspelaren startar om JAG vill och om JAG kan stoppa den är det ok..
annars är det djävligt störande / skulle få mig att lämna sidan omedelbums...
om man har en tunn wrapper, head & footer, sen läser in resten via ajax, så lämnar man ju aldrig sidan ?
Den löser problemet med historiken, men i adressfältet står det ju /jquery/jquery_history.html#3 vilket betyder att om jag kopierar adressen i adressfältet och länkar till den, så går länkkraften till fel sida.
Nja, du har missförstått lite. Länkkraft brukar man pratar om när det gäller SEO och sökmotorer. En sökmotor lär skala bort allt efter # och bara behandla det innan # som själva adressen. Således, om någon länkar till den adress som för tillfället står i adressfältet så kommer en sökmotor bli förvirrad
Precis som onkelborg säger så fungerar länken för användaren (förutsatt att javascript är aktiverat), men sökmotorn tycker att länken går till jquery_history.html och jag kommer därför att få extremt svårt att få inlänkar till "rätt" sida.
Nu har jag fått till det så att det rullar bra i alla macläsare och det funkar om man stänger av javascript, men jag måste testa det hela på en windowsburk och alla härliga IE-versioner innan jag kan bestämma mig för om jag har lyckats!
Tack för hjälpen!
Jag löste det för övrigt med jQuery som ersätter ?c=sida med #sida och vid fall ett utan javascript inkluderas content.php och i fall två så laddas content.php in i en div.
Kommer sökmotorer att indexera efter querystringsystemet eller kommer det att uppstå problem?
Och i.o.m. att querystringsystemet fungerar bra när jag har stängt av javascript, innebär det att det kommer att fungera bra i äldre läsare som inte har stöd för jQuerymodernitet eller kommer det att bli något mellanting att den försöker tolka det men misslyckas?
Tack igen!
263 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e