2016-06-30 16 views
0

Ich möchte Cookies festlegen, die Seitenaufrufe erfassen, und dann dem Benutzer die Option geben, auf eine Schaltfläche zu klicken und den Inhalt des Cookies per E-Mail zu senden. Bisher habe ich das:Zeilenumbrüche in der Variablen

$(document).ready(function() { 
$('#testButton').click(function(event){ 
event.preventDefault(); 
var oldPathName = $.cookie("currentPath"); 
var newPathName = window.location.pathname; 
var pathCombined = oldPathName+ String.fromCharCode(13)+newPathName; 
var date = new Date(); 
var minutes = 30; 
date.setTime(date.getTime() + (minutes * 60 * 1000)); 
$.cookie("currentPath", pathCombined, { expires: date }); 
alert(pathCombined); 
var email = '[email protected]'; 
    var subject = 'History';  
    window.location = 'mailto:' + email + '?subject=' + subject + '&body=' + pathCombined; 
}); 
}); 

Dies ist nur ein Test bisher. Wenn Sie auf #testButton klicken, wird zuerst eine Warnung mit dem Inhalt des Cookies angezeigt und anschließend eine E-Mail mit dem Cookie-Inhalt im Nachrichtentext geöffnet.

Das einzige Problem, das ich habe, ist Zeilenumbrüche/Wagenrücklauf in die E-Mail einfügen. Ich habe herausgefunden, wie man Zeilenumbrüche zwischen den Pfaden in die Warnung einfügt, aber es funktioniert nicht im E-Mail-Text.

Zum Beispiel, wenn ich besuche zwei Seiten, in dieser Reihenfolge:

www.example.com/xxx/yyy/zzz 
www.example.com/xxx/yyy/qqq 

dann der Alarm durch den Code oben zeigt ausgelöst:

/xxx/yyy/zzz 
/xxx/yyy/qqq 

aber der Körper der E-Mail geschrieben, als :

/xxx/yyy/zzz/xxx/yyy/qqq 

Formatierung der Brüche in der E-Mail-Körper erfordert eindeutig einen anderen Weg. Ich habe versucht, String.fromCharCode(13) durch %0D%0A zu ersetzen, aber es bricht die JQuery.

+0

Haben Sie versucht, ersetzen 'String.fromCharCode (13)' 'mit '\ n'' oder'' \\ n'' – phuzi

Antwort

0

Sie müssen nur den Text kodieren.

var pathCombined = oldPathName+ '\n' +newPathName; 

window.location = 'mailto:' 
+ encodeURIComponent(email) 
+ '?subject=' 
+ encodeURIComponent(subject) 
+ '&body=' 
+ encodeURIComponent(pathCombined); 
+0

Großen. Das hat funktioniert. Danke – user3762977

Verwandte Themen