2016-06-30 2 views
0

Я хочу, чтобы файлы cookie фиксировали посещения страниц, а затем давали пользователю возможность щелкнуть кнопку и отправить по электронной почте содержимое файла cookie. Пока у меня есть это:Разрывы строк в переменной

$(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; 
}); 
}); 

Это всего лишь тест. При нажатии на #testButton сначала появляется предупреждение с содержимым файла cookie, затем открывается письмо с содержимым файла cookie в теле письма.

Единственная проблема, с которой я столкнулся, - это вставка разрывов строк/возврат каретки в электронное письмо. Я выяснил, как получить разрывы строк между путями в оповещение, но это не будет работать в тексте электронной почты.

Например, если я посещаю две страницы, в следующем порядке:

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

то предупреждение вызвано кодом выше дисплеях:

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

, но тело письма записывается как :

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

Форматирование перерывов в корпусе электронной почты явно требует иного подхода. Я попытался заменить String.fromCharCode(13) на %0D%0A, но он разбивает JQuery.

+0

Вы пробовали заменить 'String.fromCharCode (13)' 'с '\ n'' или'' \\ n'' – phuzi

ответ

0

Вам просто нужно закодировать текст.

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

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

Великого. Это сработало. Спасибо – user3762977

Смежные вопросы