Контекстные надстройки Outlook
Контекстные надстройки — это надстройки Outlook, которые активируются при наличии определенного текста в сообщении или сведениях о встрече. С помощью контекстных надстроек пользователь может инициировать задачи, связанные с почтовым элементом, не выходя из самого элемента. Например, контекстная надстройка может выбрать строку в тексте почтового элемента, который открывает надстройку предложения собрания.
Вы можете указать правила регулярных выражений, чтобы активировать контекстную надстройку при обнаружении совпадения в определенных полях сообщения. Контекстные надстройки активируются только в режиме чтения. Outlook не активирует контекстные надстройки, когда пользователь создает элемент.
Важно!
Контекстные надстройки Outlook на основе сущностей теперь сняты с учета. В качестве альтернативного решения реализуйте правила регулярных выражений в контекстной надстройке.
Настройка манифеста
Примечание.
Контекстные надстройки Outlook не поддерживаются, если надстройка использует унифицированный манифест для Microsoft 365.
Манифест контекстной надстройки должен содержать элемент ExtensionPoint с xsi:type
атрибутом .DetectedEntity
В элементе <ExtensionPoint> надстройка должна указать правило регулярного выражения с помощью элемента Rule с xsi:type
атрибутом ItemHasRegularExpressionMatch.
В следующем примере надстройка активируется всякий раз, когда символ акции включается в текст текущего почтового элемента.
<ExtensionPoint xsi:type="DetectedEntity">
<Label resid="Context.Label" />
<SourceLocation resid="DetectedEntity.URL" />
<Rule xsi:type="ItemHasRegularExpressionMatch" PropertyName="BodyAsPlaintext" RegExName="TickerSymbols" RegExValue="\b(NYSE|NASDAQ|AMEX):\s*[A-Za-z]+\b" />
</ExtensionPoint>
Поддерживаемые символы в правилах регулярных выражений
Outlook вычисляет регулярные выражения на основе правил интерпретатора JavaScript, используемых браузером или элементом управления webview на клиентском компьютере. Для краткости в этой статье используется слово browser для ссылки на элемент управления "браузер или веб-представление". Outlook поддерживает те же специальные знаки, что и все обработчики XML. Они перечислены в следующей таблице. Эти символы можно использовать в регулярном выражении, указав escape-последовательность соответствующего символа.
Знак | Описание | Escape-последовательность |
---|---|---|
" |
Двойная кавычка | " |
& |
Амперсанд | & |
' |
Апостроф | ' |
< |
Знак "меньше" | < |
> |
Знак "больше" | > |
Рекомендации по использованию регулярных выражений в правилах
При использовании регулярных выражений помните следующее.
Если указать
ItemHasRegularExpressionMatch
правило в тексте элемента, регулярное выражение должно дополнительно фильтровать текст и не пытаться вернуть весь текст элемента. Использование регулярного выражения, такого как.*
попытка получить весь текст элемента, не всегда возвращает ожидаемые результаты.Возвращаемый обычный текст может несколько отличаться в зависимости браузера. Если вы используете правило
ItemHasRegularExpressionMatch
с таким значением атрибутаPropertyName
:BodyAsPlaintext
, проверьте свое регулярное выражение во всех поддерживаемых надстройкой браузерах.Так как в разных браузерах основной текст выбранного элемента считывается разными способами, ваше регулярное выражение должно учитывать мелкие различия, которые могут быть возвращены в составе основного текста. Например, браузеры могут возвращать разрывы строк по-разному. For more information, see W3C DOM Compatibility - HTML.
Html-текст элемента немного отличается от классического Outlook в Windows или Outlook на Mac и Outlook в Интернете, на мобильных устройствах или нового Outlook в Windows. Будьте внимательны, задавая регулярные выражения.
В зависимости от клиента Outlook, типа устройства или свойства, к которому применяется регулярное выражение, существуют другие рекомендации и ограничения для каждого из клиентов, которые следует учитывать при разработке регулярных выражений в качестве правил активации. Дополнительные сведения см . в разделе Ограничения для активации и API JavaScript для надстроек Outlook.
Использование результатов регулярных выражений в коде JavaScript
В коде JavaScript надстройки можно получить совпадения с регулярным выражением, используя следующие методы для текущего элемента.
GetRegExMatches возвращает совпадения в текущем элементе для всех регулярных выражений
ItemHasRegularExpressionMatch
, указанных в правиле надстройки.getRegExMatchesByName возвращает строки текущего элемента, соответствующие определенному регулярному выражению, указанному в правиле
ItemHasRegularExpressionMatch
надстройки.getSelectedRegExMatches возвращает выделенные совпадения в текущем элементе для регулярного выражения, указанного в
ItemHasRegularExpressionMatch
правиле надстройки.
При оценке регулярных выражений соответствия возвращаются в надстройку в массиве. При использовании метода getRegExMatches
идентификатор этого массива соответствует имени регулярного выражения.
Примечание.
Outlook не возвращает совпадения в определенном порядке в массиве. Кроме того, не следует предполагать, что совпадения возвращаются в одном и том же порядке в этом массиве, даже если вы запускаете одну и ту же надстройку на каждом из этих клиентов в одном и том же почтовом ящике.
Ниже приведен пример коллекции правил, содержащей ItemHasRegularExpressionMatch
правило с регулярным выражением с именем videoURL
.
<Rule xsi:type="RuleCollection" Mode="And">
<Rule xsi:type="ItemIs" ItemType="Message"/>
<Rule xsi:type="ItemHasRegularExpressionMatch" RegExName="videoURL" RegExValue="http://www\.youtube\.com/watch\?v=[a-zA-Z0-9_-]{11}" PropertyName="BodyAsPlaintext"/>
</Rule>
Затем getRegExMatches
метод вызывается в текущем сообщении для задания переменной videos
результатов указанного ItemHasRegularExpressionMatch
правила.
const videos = Office.context.mailbox.item.getRegExMatches().videoURL;
См. также
- Надстройка Outlook: номер заказа Contoso (пример контекстной надстройки, которая активируется на основе соответствия регулярному выражению)
- Создание первой надстройки Outlook
Office Add-ins