Kjapp og trygg hosting for Wordpress

Sideovergang

rimby

Medlem
Datepickeren fungerer fint.
Det er mulig at den er laggy pga at jeg har 8 sider med innehold som ligger oppå hverandre som hver inneholder noen bilder og iframes. Men det er kun rett etter at siden er lastet inn at den er laggy. Hadde det vært mulig å legge innholdet i flere html filer men likevel beholde scroll animasjonen. noe sånt: mmm... Ajax!
 

adeneo

Medlem
Du kan fint bruke ajax til å laste innhold, det er faktisk det som er en del av den tiltenkte funksjonaliteten.

jQuery's load() gjør det for eksempel veldig enkelt å bytte ut innhold ved trykk på noen knapper eller lignende.
 

rimby

Medlem
Får ikke det her helt til å fungere...
Kode:
$('#innhold1').load('test.html #content');
Laget en test.html med en div som heter content. content skal inn i innhold1.
 

rimby

Medlem
Problemet var vist at chrome ikke tillot dette lokalt av en eller annen grunn.
Nytt problem.
Når jeg laster inn noe ved hjelp av .load så fungerer ikke charsetet lenger.
Søkte rundt og flere hadde dette problemet.
Fant en løsning for alle andre nettlesere enn internet explorer:
Kode:
	$.ajaxSetup({contentType: 'text/html;charset=windows-1252'});

	$.ajaxSetup({
        'beforeSend' : function(xhr) {
             xhr.overrideMimeType('text/html; charset=windows-1252');
        },
	});
Det var en løsning på nettet dersom man brukte php:
Kode:
	<?php
		header('Content-Type: text/html; charset=windows-1252');
	?>
Men så bruker jeg html filer ikke php...

Vet du noen løsning på dette?
 

adeneo

Medlem
Hvis du bruker en wamp server til å teste med kan du bruke PHP lokalt samt at du bør slippe problemer med lokale filer som stoppes av javascript sin cross domain policy osv.

charset problemer løser seg nesten alltid ved å gjennomgående bruke UTF-8, og du vil uansett få problemer med CP1252 på en linux server samt med ajax forespørsler.
 

rimby

Medlem
bruker ikke en lokal server. Windows-1252 fungerer fint på alt annet innhold som ikke settes inn ved .load på denne serveren. Har prøvd å skifte til UTF-8, men det fungerte ikke i noen av nettleserne...
 

adeneo

Medlem
Det er nå en gang slik at alle en eller annen gang møter på "tegnsett-spøkelset", slik du har gjort, og problemet er nok ikke ajax i seg selv, men at du ikke bruker riktig charset.

En snart ti år gammel artikkel fra Spolsky er ofte den enkleste måten å forstå dette på -> The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) - Joel on Software

Det beste for å unngå problemer er å konsekvent bruke UTF-8, både i HTML, javascript, css og andre steder, slik som i databaser osv. Det betyr at alle filer må lagres som UTF-8 (uten bom) i IDE'en du bruker (for du bruker vel ikke notepad ?), samt at du må angi riktig tegnsett øverst i HTML filene dine, og det er viktig at det gjøres øverst ettersom nettleseren "går tilbake til start" når tegnsettet er lest inn.

Det er også en del enklere å bruke en WAMP server lokalt enn en live server, men det får være opp til deg ?
 

rimby

Medlem
Den atikkelen hjalp egentlig ingenting. Når jeg bruker utf-8 virker ikke æ, ø og å i det heletatt. æ, ø og å fungerer når jeg bruker windows-1252, men bare på det innholdet som ikke hentes inn via .load. Jeg bruker .load til å hente inn f.eks. about.html. Jeg legger dette innholde i #content. I about. html har jeg ikke spesifisert noe charset. Siden dersom jeg setter charset i about.html ville ende opp med 2 <head> i index html. en i toppen av dokumentet og en i toppen av #content. Grunnen til at jeg ikke opretter en server lokalt er fordi jeg kun eier en bærbar som ikke kan være på til en vær tid.
 

adeneo

Medlem
Joa, hvoffor ikke?

Ajax bruker i utgangspunktet kun UTF-8, og du må lagre filene dine som UTF-8 og skrive i UTF-8, det du har i dag er ugyldige tegn av en eller annen grunn.
Vet ikke hvorfor, men det må har noe med editoren du bruker å gjøre ?

Her er en test : http://played.no/ajaxtest/
 

rimby

Medlem
Men en ting fungerte ikke som den skal.
Kode:
<script type="text/javascript" src="http://www.yr.no/sted/Norge/Buskerud/Hemsedal/Hemsedal_Feriesenter/ekstern_boks_tre_dager.js"></script>

Prøv å legg dette scriptet i en av html filene du henter inn med .load
Den vises ikke... men fungerer fint ellers.
 

adeneo

Medlem
Det stemmer nok bra, script tagger fra eksterne domener lukes normalt vekk da poenget ikke er å hente slikt, de setter man inn på andre måter, for eksempel med $.getScript ?
 

rimby

Medlem
Kode:
$.getScript("http://www.yr.no/sted/Norge/Buskerud/Hemsedal/Hemsedal_Feriesenter/ekstern_boks_tre_dager.js", function(data, textStatus, jqxhr) {
   console.log(data); //data returned
   console.log(textStatus); //success
   console.log(jqxhr.status); //200
   console.log('Load was performed.');
});
sjekket console.. "load was performed", men scriptet kom ikke opp.
Kode:
<script type="text/javascript" src="http://www.yr.no/sted/Norge/Buskerud/Hemsedal/Hemsedal_Feriesenter/ekstern_boks_tre_dager.js"></script>
Ligger i 2.html i demon jeg linket til tidligere
scriptet ligger i test.js

Hva gjør jeg feil?
 
Sist redigert:
Topp