startailMedlem sedan sep. 2000155 inlägg Jag har ett javascript som skall öppna ett nytt fönster och skicka info om den sidan man är på.
Jag har fått reda på att jag kan göra
javascript:void(AddLinkWindow=window.open('http://www.greyleaf.net/add_link.php?title='+escape(window.location.href), 'AddLink','width=400,height=50,scrollbars=yes,toolbar=no,location=no'));
för att skicka web adressen, men hur kan jag göra för att skicka titeln på sidan?
Om jag gör
javascript:void(AddLinkWindow=window.open('http://www.greyleaf.net/add_link.php?title='+escape(window.title), 'AddLink','width=400,height=50,scrollbars=yes,toolbar=no,location=no'));
får jag bara undefined.
Någon som kan hjälpa mig?
JohnsenMedlem sedan juli 2000836 inlägg prova:
javascript:void(AddLinkWindow=window.open('http://www.greyleaf.net/add_link.php?title='+escape(document.title), 'AddLink','width=400,height=50,scrollbars=yes,toolbar=no,location=no'));
startailMedlem sedan sep. 2000155 inlägg Det funkade bra det.
Men jag har problem med att åäö inte fungerar när det skickas med.
Det enda jag ser är massa ?
JojoxxMedlem sedan juni 20004 308 inlägg Det borde fungera eftersom du använder escape, men hur tas informationen om hand sedan? Använder du der serverside med php eller är det JavaScript på nästa sida också? (Kan du länka till sidan?)
startailMedlem sedan sep. 2000155 inlägg Jag använder serverside med PHP.
Just nu testar jag bara med att skriva ut det med $_GET['title']. Det är en linux server som använder sig av en_us.UTF-8 så det borde kunna hantera åäö också. Det gör det iaf överallt på sidan annars.
startailMedlem sedan sep. 2000155 inlägg När jag gör det på tex den här sidan så blir länken ...
[url]http://www.greyleaf.net/add_link.php?data=webForum%20-%20Skicka%20Titel%20p%E5%20sidan[/url]
Jag antar att det här är mera PHP fråga än javascript.
Men jag antar att jag måste göra en unescape på allting som kommer in igen?
För att få tillbaka det med PHP så testade jag detta och det funkade då.
$_GET['data'] = str_replace(array("å","ä","ö","Å","Ä","Ö"), array("& aring;","& au
ml;","& ouml;","& Aring;","& Auml;","& Ouml;"), $_GET['data']);
(utan mellanslag i &-kod då wF konvertera detta automatiskt)
dectgapMedlem sedan sep. 20021 655 inlägg Om du skickar med en header som säger att det är ISO-8859-1 så visas det rätt.
startailMedlem sedan sep. 2000155 inlägg Hur gör man det i en länk?
JojoxxMedlem sedan juni 20004 308 inlägg Det kan du inte. Det är servern som bestämmer vilken teckenuppsättning som skall specificeras (om någon) i http-headern. Du kan dock använda en meta-tagg för att tala om vilken teckenuppsättning som skall användas.
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
JojoxxMedlem sedan juni 20004 308 inlägg Hittade denna utf-8 encoder på experts-exchange
var digits ="0123456789abcdef";
var hex = new Array( 256 );
for( var idx = 0; idx < 256; idx++ )
hex[ idx ] = "%" + digits.charAt( idx >> 4 ) + digits.charAt( idx & 0xf );
function encode( s )
{
var sbuf = "";
var len = s.length;
for( var i = 0; i < len; i++ ) {
var ch = s.charAt(i);
if( /[A-Za-z0-9-_.!~*'()]/.test( ch ) ) {
sbuf += ch;
} else{
var cc = s.charCodeAt(i);
if (cc <= 0x007f) { // other ASCII
sbuf += hex[cc];
} else if (cc <= 0x07FF) { // non-ASCII <= 0x7FF
sbuf += hex[0xc0 | (cc >> 6)]
+ hex[0x80 | (cc & 0x3F)];
} else { // 0x7FF < ch <= 0xFFFF
sbuf += hex[0xe0 | (cc >> 12)]
+ hex[0x80 | ((cc >> 6) & 0x3F)]
+ hex[0x80 | (cc & 0x3F)];
}
}
}
return sbuf;
}
startailMedlem sedan sep. 2000155 inlägg Hur gör jag för att göra detta med PHP variabler som jag har? Om jag tex vill ge den data från $data och sedan skicka den till $data igen ?
startailMedlem sedan sep. 2000155 inlägg Löste det...
utf8_encode($var);
Jag skall encoda variabeln jag får in för att den skall läsa den rätt igen... *sliter hår*
JojoxxMedlem sedan juni 20004 308 inlägg Kom inte datat från titeln på sidan, document.title?
Prova att ändra escape(document.title) till encode(document.title)