Hvordan renske opp Google Maps-kode?

Sjefskoder

Sjefskoder
Hallojs!

Får vi se valideringen da? (url'n...)

Blir så mye enklere enn å sitte å gjette i blinde :p

/S
 

agrimsrud

Medlem
Et enkelt forslag som sikkert vil spare mye tid og frustrasjon:
Vis kun et skjermbilde av kartet på siden din, og lag en lenke til selve kartapplikasjonen. Evt et skjermbilde som laster inn kartet i et modalvindu via ajax når du trykker på det.
 

picxx

WF 09
frognermedia.no / frognermedia

Ta vekk mellomrommene, vil ikke la Google snappe opp url siden nettsiden ikke er helt ferdig ennå. :)

Litt smart å ikke legge ut e-post adresse med frognermedia . no etter @ da vel? :D
Nettsiden din er nok indeksert i google for lenge siden.
 

adeneo

Medlem
Hvis poenget kun er å få siden til å validere som html 5 kan du gjøre følgende:

HTML:
<div id="kart"> 
<script type="text/javascript">
<![CDATA[

document.write('<iframe width="400" height="250" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.no/maps?f=q&amp;source=s_q&amp;hl=no&amp;geocode=&amp;q=asalund+48&amp;aq=&amp;sll=61.143235,9.09668&amp;sspn=17.209315,67.631836&amp;ie=UTF8&amp;hq=&amp;hnear=Asalund+48,+3944+Porsgrunn,+Telemark&amp;z=14&amp;ll=59.113529,9.698028&amp;output=embed&iwloc=near"></iframe><br /><small><a href="http://maps.google.no/maps?f=q&amp;source=embed&amp;hl=no&amp;geocode=&amp;q=asalund+48&amp;aq=&amp;sll=61.143235,9.09668&amp;sspn=17.209315,67.631836&amp;ie=UTF8&amp;hq=&amp;hnear=Asalund+48,+3944+Porsgrunn,+Telemark&amp;z=14&amp;ll=59.113529,9.698028&iwloc=near" style="color:#474747;text-align:leftr">Vis større kart</a></small> ');

]]>
</script>
</div>

Ikke en optimal løsning å bruke document.write, har heller ikke testet det, men bør virke akkurat slik som det er i dag, men med valideringen i orden?


Jeg håper du har en spesielt god grunn når du som webdesigner velger å benytte 20 eksterne CSS filer og 17 eksterne javascript filer på en enkelt side.
Noe som totalt skulle bli 35 unødvendige forespørsler til serveren(du trenger strengt tatt bare en av hver, men i noen tilfeller kan jeg forstå at man har flere, slik som et lokalt script for siden, og i tillegg jQuery eller andre bibliotek)?

Du har også den vanlige feilen at du ikke har deaktivert ETags og satt expires i .htaccess, og du bruker heller ikke gZip på webserveren.

EDIT: etter å ha åpnet noen av CSS filene dine ser jeg nå at omtrent alle 20 inneholder bare noen få linjer??? what gives ??? Kjenner ikke godt nok til wordpress men det må da være måte på å være ineffektiv ???

Noe som er enda mindre effektivt er å bruke @import i CSS for å dra en fil inn i en annen, jammen godt jeg ikke kan WP.
 
Sist redigert:

adeneo

Medlem
Pussig, jeg klipte og limte den iframe'n rett fra siden din?

Poenget er uansett å sette inn iframe'n med javascript ettersom den da kan kommenteres ut med CDATA slik at validatoren ikke validerer javascriptet, noe som kanskje ikke er strengt tatt nødvendig engang med html 5, men kun med xhtml strict ??

Altså må du få den iframe'n ut av kildekoden som lastes ned av nettleseren og validatoren og legge til iframe'n i DOM treet med javascript før/mens nettleseren konstruerer DOM treet.

Det er av den grunn php ikke funker ettersom det setter inn koden på serversiden før den blir sendt, men en hver javascript burde fungere.

Du hadde vel jQuery på siden din, og du kunne sikkert brukt noe derfra.

.append / .prepend bør kunne fungere, eller .load /.get dersom du legger iframe'n i en egen fil.

Det blir nesten akkurat som en php include, men med f.eks. jQuery .load så vil normalt ikke iframe'n dukke opp i html'en din før ETTER den er sendt til nettleseren(og validert).

Det blir litt juks og fanteri, men det er måten å gjøre det på for å få det til å validere, med mindre noen andre her kan endre på de variablene som sendes tilbake til Google i maps linken din å få det til å validere direkte.

Du kan også bruke Ajax, men det blir akkurat det samme som jQuery .load, og bruker akkurat like mye ressurser (litt for mye egentlig) !!
 
Sist redigert:

adeneo

Medlem
Aha! Jeg ser nå at jeg har tatt med både kartet og linken i den javascript tingen, men hva med å prøve noe slikt:

HTML:
<div id="kart"> 
<object id="map" type="text/html" data="http://maps.google.no/maps?f=q&amp;source=s_q&amp;hl=no&amp;geocode=&amp;q=asalund+48&amp;aq=&amp;sll=61.143235,9.09668&amp;sspn=17.209315,67.631836&amp;ie=UTF8&amp;hq=&amp;hnear=Asalund+48,+3944+Porsgrunn,+Telemark&amp;z=14&amp;ll=59.113529,9.698028&amp;output=embed&amp;iwloc=near" style="width:400px;height:250px;">
</object>

<!--[if IE ]>
<script type="text/javascript">(function(){var o=document.getElementById('map');var i=document.createElement('iframe');i.setAttribute('src',o.getAttribute('data'));i.style.width=o.style.width;i.style.height=o.style.height;o.parentNode.replaceChild(i,o);})();</script>
<![endif]-->

<br /><small><a href="http://maps.google.no/maps?f=q&amp;source=embed&amp;hl=no&amp;geocode=&amp;q=asalund+48&amp;aq=&amp;sll=61.143235,9.09668&amp;sspn=17.209315,67.631836&amp;ie=UTF8&amp;hq=&amp;hnear=Asalund+48,+3944+Porsgrunn,+Telemark&amp;z=14&amp;ll=59.113529,9.698028&amp;iwloc=near" style="color:#474747;text-align:leftr">Vis større kart</a></small> 

 
</div></div>


Denne har jeg til og med testet og validert, og den funker her!

PS: sjekk at den linken funker skikkelig, redigert på måfå til den validerte, men den virker her :D
 
Sist redigert:

adeneo

Medlem
...eneste var at du hadde en </div> for mye på slutten. :)


Det var av en eller annen grunn slik i kildekoden din, sikkert en div lengre opp som ble lukket :D så jeg tok med den ekstra </div> taggen sånn for sikkerhetsskyld ??

Har ikke testet den i IE, men den javascript IE fiksen burde sette inn en vanlig iframe i IE ettersom <object> ikke gjenkjennes av IE, som så mye annet!

Når jeg tenker meg om kunne du sikkert satt inn iframe'n som ren html mellom IF taggene, og ikke behøvd å bruke javascript i det hele tatt ettersom <object> sannsynligvis ikke leses av IE uansett, men poenget var å finne noe som ikke bruker document.write da det i utgangspunktet ikke er noen god løsning. Spiller i grunn liten rolle, men jeg prøver alltid å unngå inline javascript hvis jeg kan, men det har lite for seg i wordpress som uansett generer inline både det ene og andre alikevel.
 
Sist redigert:
Topp