webForumDet fria alternativet

Å, Ä, Ö i samband med javascript samt radskift

7 svar · 908 visningar · startad av biggles-1

biggles-1Medlem sedan jan. 2005125 inlägg
#1

Hej,

Kan inget om javascript, och skulle uppskatta ett tips om följande:

Har kopierat följande kod för att få en “Tipsa en vän” function. Allt fungerar som det skall MEN de svenska å, ä, ö (se nedan) förvanskas i mailet inkl stor bokstav på efterföljande ord.

Fråga 1): Hur kommer jag runt detta? Ligger det i Outlook eller i scriptet, eller ….?

<BODY>
<script language="JavaScript" src="EmailLink.js">
</script>
</BODY>

function EmailLink(){
window.location = "mailto:"+"?subject=Tips om bra webplats!" + "&body="+'Hej - Det här är en adress till en bra webplats, som jag tror att även du skulle vara intresserad av : XXXXXXXXXXX http://www.xxxxxxxxx.com';
}
document.write('<a href="javascript:EmailLink()">Tipsa - genom att klicka här!</a>')

Resultatet blir följande:

Hej - Det här är en adress till en bra webplats, som jag tror att även du skulle vara intresserad av : XXXXXXXXXXX http://www.xxxxxxxxxxxx.com

Fråga 2); Går det att få ett radskifte eller två, i texten som läggs i mailet´s ”body”. Skulle vilja att det såg ut som följer, och inte enligt exemplet ovan = löpande:

Hej,

Det här är en adress till en bra webplats, som jag tror att även du skulle vara intresserad av :

XXXXXXXXXXX http://www.xxxxxxxxxxxx.com

Tack på förhand!

biggles-1

pettssonMedlem sedan jan. 20021 122 inlägg
#2
  1. Ta en titt på funktionen escape(), jag tror att outlook m.fl. förstår escapade åäö osv., men jag är inte säker
  2. För radbryt lägger du in \n.
biggles-1Medlem sedan jan. 2005125 inlägg
#3

Hmm ... radskiftet förstår jag (tror jag *ler*), men inte var jag skall titta efter escape () eller hur det skulle placeras in, då kunskapen om javascript är noll, tyvärr.

Frågan dyker också upp OM javascript fungerar lika dåligt på olika plattformar som HTML-standarden gör på ex IE kontra Firefox. Det skulle isåfall innebära att om jag ändrade något (typ det du nämner om Escape() ) för att det skall fungera i Outlook, så slutar det att fungera i Eudora m fl?

Editerat: Jag la in " \n " i texten mellan Hej och Det .., men får inget önskat radskifte, så jag kan inte ha förstått *ler*. Hur gör jag?

biggles-1Medlem sedan jan. 2005125 inlägg
#4
  1. Har nu dunkat huvudet blodigt under eftermiddagen, och det visar sig att problemet inte dyker upp om jag använder IE som webläsare, utan bara Firefox (?). Tror därför inte att det har att göra med Outlook!

Blev detta klarare för något, hur jag skall komma runt problemet. T s v kommer jag runt problemet genom en "ful-lösning", där jag helt enkelt inte använder å, ä, ö i meningen jag anger, men blir lite begränsande *ler*!

  1. Är det verkligen ingen därute och som kan java-script, som vet hur jag får till en radbrytning i texten? Låter på något sätt så fundamentalt enkelt för den som kan detta!

Trevlig kväll! / biggles-1

J.N.Medlem sedan apr. 20031 660 inlägg
#5

HEJ!

\n gör radbryt, "'...Hej\nDet..." SKA ge radbrytning!

Escape läser du om på Devguru, bra utvecklingswebb.
http://www.devguru.com/Technologies/ecmascript/quickref/escape.html

GuffaMedlem sedan juni 2004533 inlägg
#6

Eftersom texten ligger i en länk så måste du url-koda den, och det gör du med funktionen escape:

function EmailLink(){
window.location = "mailto:" + "?subject=" + escape("Tips om bra webplats!") + "&body=" + escape("Hej - Det här är en adress till en bra webplats, som jag tror att även du skulle vara intresserad av : XXXXXXXXXXX http://www.xxxxxxxxx.com");
}

biggles-1Medlem sedan jan. 2005125 inlägg
#7

Grabbar, ni är pärlor!

Ändrade scriptet enligt Guffa och plötsligt försvann de konstiga tecknen, för att därefter åter lägga in "\n", som då plötsligt fungerade *ler*. Magic!

Tack allihop och ha en skön kväll!

biggles-1

Jesper TMedlem sedan nov. 20017 144 inlägg
#8

/r

/r :r

131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)