2014-12-01, 11:20
  #1
Medlem
Bifogar en länk med hur layouten är tänkt. Jag vill att menyn och slideshow ska vara konstant, alltså inte behöva reloadas varje gång man trycker på en länk i menyn. Ett sätt hade varit att använda en Iframe till all content, men problemet är att jag vill att content ska bestämma höjden och inte iframen. Har inte hittat någon bra lösning till detta.

Hur hade ni gjort?

http://www.cgpro.se/Temp.jpg
Citera
2014-12-01, 12:29
  #2
Medlem
Tvillingens avatar
Ett alternativ är att ladda in allt innehåll med hjälp av javascript istället och då blir det lämpligt att söka efter AJAX om du inte är bekant med det sen innan. Du får dock se till att ha en fallback för användare som inte har stöd för javascript.
Citera
2014-12-01, 12:44
  #3
Medlem
Jag sökte runt lite och just nu testar jag att använda jquery. Närmare bestämt $( "#content" ).load( "new_content.htm" ); för att ladda in nytt content i div. Funkar kanon. Men som du säger så blir det knas för folk utan stöd för js. Men samtidigt, välkomna in i 2000-talet
Citera
2014-12-01, 13:17
  #4
Medlem
Tvillingens avatar
Citat:
Ursprungligen postat av Numse
Jag sökte runt lite och just nu testar jag att använda jquery. Närmare bestämt $( "#content" ).load( "new_content.htm" ); för att ladda in nytt content i div. Funkar kanon. Men som du säger så blir det knas för folk utan stöd för js. Men samtidigt, välkomna in i 2000-talet

Ja det beror på vem sidan riktar sig till hur mycket tid det är värt att lägga på att sidan ska vara kompatibel för allt och alla Men det bästa vore ändå att du såg till att göra så att det går att komma direkt till de olika sidorna, dels för att man ska kunna länka till en specifik sida och hamna på den, dels för att sökmotorerna ska kunna indexera riktigt. Det går att ändra adressen med hjälp av javascript och använder du PHP eller någonting annat backend ska det inte vara så svårt att lösa så att sidan laddas in dynamiskt även där.
Citera
2014-12-01, 16:56
  #5
Medlem
Ser dock ingen lösning till det. Hade kanske funkat med frames, men det är ju gammalt skräp.

Hur fungerar AJAX som du nämnde?
Citera
2014-12-02, 11:17
  #6
Medlem
Tvillingens avatar
Citat:
Ursprungligen postat av Numse
Ser dock ingen lösning till det. Hade kanske funkat med frames, men det är ju gammalt skräp.

Hur fungerar AJAX som du nämnde?

Så här kan du redigera urlen hos klienten utan att hela sidan laddas om, men det stöds dock inte av alla webbläsare, men det tycks inte vara ett problem för dig.

https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history#Adding_and_modify ing_history_entries

Det fungerar som du skrev, men går även att göra mer avancerat genom att posta data till servern också. Använder du jQuery kan du titta på dessa sidor.

http://api.jquery.com/jquery.ajax/
http://api.jquery.com/jquery.get/
http://api.jquery.com/jquery.post

Ett sätt att få det att fungera även för personer utan javascript är att använda dig av exempelvis PHP. Du sätter upp en sida som dynamiskt hämtar den specifika sidan klienten efterfrågar. Ett exempel som inte ska användas utan att fixa säkerhetshålet med att man kan inkludera sidor hejvilt.

[PHP]<?php
$page = (isset($_GET['page'])) ? 'index' : $_GET['page'];
include 'top.php';
include './pages/'.$page.'php';
include 'bottom.php';
?>[/PHP]

När användaren sedan klickar i menyn ändrar du adressen till sida.nu/index.php?page=x. Förslagsvis skickar du även med data om att du endast vill ha med content-delen och inte top.php och bottom.php också vid ditt AJAX anrop. Nu borde även sidan fungera om man inte använder javascript, dessutom borde det fungera att direktlänka till sidorna!
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in