Я использую angularjs и пытаюсь создать систему загрузки vcard, созданного в javascript. Для того, чтобы vcard работал на мобильном устройстве, данные необходимо загрузить через тег. Проблема заключается в том, что каждый раз, когда я устанавливаю href = "data: text/vcard," + string, он сохраняет vCard, но удаляет новые строки. vCards работают только с новыми линиямитег href данные с новыми линиями
Есть ли способ сохранить символы новой строки при сохранении данных?
$scope.saveVcard = function(){
var user = $scope.member;
var out_string = 'BEGIN:VCARD\nVERSION:2.1\n\rN:' + user.last_name + ';' + user.first_name + ';;;\n\r'; //name
out_string += 'FN:' + user.first_name + ' ' + user.last_name + '\n\r';//FN
if (user.phone){
out_string += 'TEL;CELL:' + user.phone + '\n\r';} //Phone
if (user.email){
out_string += 'EMAIL;PREF;INTERNET:' + user.email + '\n\r';}//Email
if (user.prof_pic){
out_string += 'PHOTO;PNG:'+user.prof_pic + '\n\r';}//picture
out_string += 'END:VCARD';
var a = document.createElement('a');
a.href = 'data:text/vcard,' + out_string;
a.target = '_blank';
a.download = 'contact.vcf';
console.log(a.href);
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
Соответствующая последовательность строк для vCards - «\ r \ n», а не «\ n \ r». :) – Michael