2016-08-09 3 views
1

мне нужно добавить что-то к телу кругозора с помощью Outlook Mail add-inOutlook Mail надстройка API работает по-разному в сети и клиента Outlook,

Вот как я это сделать

function getBody(cb) { 
    Office.context.mailbox.item.body.getAsync(
     "html", 
     { asyncContext: "This is passed to the callback" }, 
     function (result) { 

      cb(result.value); 

     }); 
} 
function setBody(content, cb) { 
    Office.context.mailbox.item.body.setAsync(
    content, 
    { coercionType: Office.CoercionType.Html }, 
    function (result2) { 
     cb(result2); 
    }); 
} 

Вот звоните

getBody(function (body) { 
    setBody(body + " appended", function (r) { 
     log(JSON.stringify(r)); 
    }); 
}); 

В Outlook это работает нормально. Но в настольном клиенте (Outlook 2016) это не работает.

Это то, что получают за результат обратного вызова от настольной версии

{"value":"","status":"succeeded"} 

Это то, что получают за результат обратного вызова из веб-версии

{"value":null,"status":"succeeded"} 

Пожалуйста, помогите.

+0

Здравствуйте, Я просто попробовал этот код в последней версии Outlook, 2016 года, и не могли Репрографическую проблему: Office.context.mailbox.item.body.getAsync («текст», функция (ар) { \t var body = ar.value; \t Office.context.mailbox.item.body.setAsync (body + "appended"); }); Вы все еще можете его воспроизвести? какая версия Outlook 2016 вы используете? – AndrewS

+0

Хм .. Есть разница. ..getAsync («текст», .. это не то, что мне нужно.Я хочу, чтобы содержимое тела в формате HTML форматировалось. –

ответ

1

Обнаружено решение, я просто добавляю текст в конец строки html, которая является грязной вещью.

function FormatBody(bodyContent, extraContent, callback) { 
    var domParser = new DOMParser(); 
    var parsedHtml = domParser.parseFromString(bodyContent, "text/html"); 

    $("body", parsedHtml).append("<div>" + extraContent + "</div>"); 
    var changedString = (new XMLSerializer()).serializeToString(parsedHtml); 

    callback(changedString); 
} 

Разделил строку html и добавил тег, который я хотел. Это было решено. :)

+0

Если вы примете свой собственный ответ, будет понятнее людям, читающим это будущее, что такое решение – Mawg