webForumDet fria alternativet

Anpassa innehållet i webbläsaren...

ASP

7 svar · 305 visningar · startad av Steam

Medlem sedan juli 2003169 inlägg
Frågan#1

Hej,

Jag undrar ifall det finns nån kod och isåfall vad är det för kod som gör att en webläsare kan känna igen från vilket land en besökare kommer ifrån och på det viset anpassa innehållet.

Jag vill t.ex. att webbläsaren ska själv visa banner till svensktalande (om webbläsaren är på svenska) människor en svensk banner och engelsktalande (om webbläsaren är på engelska) människor ska se en banner på engelska. En banner kan vara en vanlig bild i det här sammanhanget. Jag vet inte om jag har varit tydlig nog men om inte fråga så kanske jag kan förtydliga ännu bättre.

Jag vore tacksam ifall nån kunde hjälpa så tack på förhand. :OO

Medlem sedan mars 20033 686 inlägg
#2

Du kan ju be besökaren att ange vilket land han/hon kommer ifrån genom en startsida och sedan sätta en cookie med vilket språk han valt. Sedan väljer du texter på olika språk beroende på vilket språk cookien har som värde.

Om du inte förstår är det inte ditt fel, det är bara jag som är helt slutkörd 04.36! :birp

Medlem sedan juni 200032 967 inlägg
#3

I webbläsaren kan man ställa in vilka språk man gillar mest. Denna information skickas till webbservern, och du kan ta emot informationen:

strLang = Request.Servervariables("HTTP_ACCEPT_LANG")

Variabeln strLang innehåller nu en kommaseparerad lista över språk klienten gillar. Använder man IE är språk inställt automatiskt (baserat på klientens regionala inställningar), men i ex. Mozilla verkar den innehålla engelska tills man väljer något annat.

Jag hade gjort så här:
Kontrollera om cookie med språk finns. Finns inte cookie, använd det språk som finns i http_accept_lang. Låt kunden överstyra det språkvalet, skriv detta till cookie.

Skall tilläggas att jag inte gjort någon flerspråkslösning baserat på http_accept_lang, men det borde gå fint.

Annars kan man ju alltid ta tag i klientens ip-adress, slå upp i någon svulstig databas och kontrollera var någonstans den ip-adressen finns rent fysiskt. Lite krångligare dock. ;)

mvh

Medlem sedan juli 2003169 inlägg
#4

Jag är inte så jätte haj på cookies men lite koll har jag, dock har jag inte träffat på http_accept_lang. Kanske dags att blädra igenom boken igen.

Nån som har flera förslag eller redan färdiga cookies scripter för det jag ovan behöver?

Medlem sedan maj 20031 472 inlägg
#5

Du kan hitta en databas med ip-nummer och land på denna adressen: http://ip-to-country.webhosting.info/

Jag kör med den på min sida men mest för skoj.

Men man kan ju inte vara säker på att baar för att besökaren sitter i sverige så vill den läsa på svenska. Detta är bättre för lastbalansering eller så.

Medlem sedan juli 2003169 inlägg
#6

Okej, det här med IP adresser verkar vara spänannde. Man skulle väl kunna skriva en script i asp eller php (alt. javascript kanske?) som säger i stil med:

if ip 192.*.*.* så visa index_se.html;
else if 154.*.*.* så visa index_en.html
osv osv...

Några förslag om det går att göra så och finns det nån redan färdig script för sådant isåfall?

Tack på förhand.

Medlem sedan nov. 20031 018 inlägg
#7

Om du använder ipsolve så kan du hämta land koden med denna kod (gör jag på min sajt) för att få fram landet:

Set Rs = Connect2.Execute("SELECT country_code2,country_name FROM ipsolve WHERE IP_FROM<=inet_aton('"& Request.ServerVariables("REMOTE_ADDR") &"') AND IP_TO>=inet_aton('"& Request.ServerVariables("REMOTE_ADDR") &"')")

countrycode = Rs(0)	
countryname = Rs(1)

Rs.Close : Set Rs=nothing

Sen kan du bara använda en If sats beronde på vilket land IP:et tillhör.

Medlem sedan juli 2003169 inlägg
#8

Bosse168: Tackar så jätte mycket. Det var precis vad jag behövde.

262 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)