Bonjour tout le monde,
Je suis dans une application mobile et mon problème est que je n'arrive pas a récupérer correctement le body et subject d'un template SMS. C'est lié à l'encodage.
voila le code de la fonction JS :
Le "SMS" c'est numéro de téléphone du contact coté controleur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 function createSMS(){ var phoneNumber = document.getElementById("SMS").innerHTML; var subject = encodeURIComponent(document.getElementById("initSubject").innerHTML); var body = subject+'\n'+encodeURIComponent(document.getElementById("initBody").innerHTML); window.location ="sms:"+phoneNumber+"&body=+body; }
Si je suis choisi un template qui contient "Hello" comme subject et "Bienvenu sur notre site" comme body ==> j'ai le résultat suivant dans ma section SMS de mon téléphone Hello,Bonjour%20sur%20notre%20site.
Je me dis que je dois faire un fonction Regex comme celle-ci :
est changer la fonction CreatSMS par cella-la :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 function encodeISO8859 (str) { var rstr=""; for(var i=0; i<str.length; i++) { var c = str.charCodeAt(i); if(c>191&&c<=255&&!(c==215||c==247)){ console.log(c); rstr += "&#"+c+";"; } else { rstr += str.charAt(i); } } return rstr; }
Merci d'avance à tous et à toutes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 function createSMS(){ logTask(document.getElementById("initSubject").innerHTML); var phoneNumber = document.getElementById("SMS").innerHTML; var subject = encodeURIComponent(encodeISO8859(document.getElementById("initSubject").innerHTML)); var body = subject+'\n'+encodeISO8859(encodeURIComponent(document.getElementById("initBody").innerHTML)); window.location ="sms:"+phoneNumber+"&body=+body"; }![]()
Partager