body.getAsync перерисовывает теги img в электронной почте

Я столкнулся с проблемой, когда body.getAsync вызывается по электронной почте во время составления и имеет какие-либо теги img, которые они перерисовывают. Это особенно плохо для нас, потому что мы опрашиваем содержимое тела, чтобы гарантировать, что тег img, который мы вводим, не будет удален.

Эффект выглядит так, будто изображения мигают каждый раз, когда вызывается body.getAsync.

Это что-то, чем можно обойти или исправить?


person Jeffrey Yun    schedule 25.04.2017    source источник
comment
Я попытался воспроизвести это в Outlook Desktop 2016 C2R. Вроде не воспроизводится. В моем теле была ссылка ‹IMG SRC = someimage›, и я вызвал body.getAsync... ничего не мерцало. Какая у вас версия Outlook? Или ты на ОВА? или что-то другое? Можете ли вы отправить более подробную информацию о реплике? (HTML наименьшего тела, которое воспроизводит это, и наименьший бит вызовов API, которые вы делаете, что вызывает это?)   -  person Outlook Add-ins Team - MSFT    schedule 25.04.2017
comment
Мне удалось воспроизвести эту проблему в OWA Office 365 и Mac для Outlook в Sierra.   -  person Jeffrey Yun    schedule 25.04.2017
comment
Я могу воспроизвести это, просто выполнив Office.context.mailbox.item.body.getAsync(Office.CoercionType.Html, {}, function(r) {}); в консоли Chrome.   -  person Jeffrey Yun    schedule 25.04.2017
comment
Я не смог воспроизвести это в хроме. У меня было новое электронное письмо с изображением, которое я вставил через setBody, а также изображение, которое я вставил через пользовательский интерфейс OWA. Затем я перешел к хромированной консоли и несколько раз сделал getBody без мерцания. Я записал свои действия здесь: 1drv.ms/v/s!AsPWW0kJOnbTgYcMESbp8jlCF4YYsw я делаю что-то другое ? Я еще не пытался воспроизвести на Mac Outlook, но возможно ли, что в вашем коде есть что-то конкретное, что вызывает это? (может быть, вы используете setbody, а затем getbody?) Особенно, если это воспроизводится на двух разных клиентах.   -  person Outlook Add-ins Team - MSFT    schedule 26.04.2017
comment
Я вижу проблему, даже если я не инициирую поток, который устанавливает тело. Еще одна вещь, которую я обнаружил: всякий раз, когда изображения перерисовываются, я вижу следующее предупреждение в консоли. Заголовок Set-Cookie игнорируется в ответ на URL-адрес: outlook.office.com/owa/service.svc/s/…4hJUCloTEeCQpcZaNbiZODZeoDojNQYwuLSCPj0UfEytNi1OaWGpBWtNjr28RHYSFKrPZRoIEc.. Длина файла cookie должна быть меньше или равна 4 символам. Похоже, что иногда это может происходить и при попытке получить список копий.   -  person Jeffrey Yun    schedule 27.04.2017
comment
Мы вызываем saveAsync при загрузке, чтобы получить идентификатор черновика, и другие асинхронные вызовы, чтобы получить получателей.   -  person Jeffrey Yun    schedule 27.04.2017
comment
Можете ли вы определить/создать меньший сценарий, который воспроизводит проблему. Похоже, GetBody больше не проблема? Если мы сможем воспроизвести наш конец, мы сможем взглянуть.   -  person Outlook Add-ins Team - MSFT    schedule 29.04.2017
comment
Я больше не могу воспроизвести это в Chrome, но я обнаружил, что в Outlook для Mac на нашей стороне была ошибка, которая изначально считалась не связанной. Мы добавляли тег img после тега close body, и все среды, кроме Outlook для Mac, каким-то образом сопротивлялись этому.   -  person Jeffrey Yun    schedule 03.05.2017


Ответы (1)


Я столкнулся с этой проблемой, я пробовал много вещей, единственное, что работает, - это вызвать API-интерфейс Outlook Rest и получить вложение, а затем заменить img src на базу 64 вложения.

Я пишу душу надстройка Outlook и файлы здесь...

Надеюсь, это поможет вам.

person OriEng    schedule 01.05.2017