Поделиться через


Активация надстройки Outlook без включения области чтения или выбранного сообщения

С помощью простой конфигурации манифеста можно создавать надстройки Outlook для области чтения сообщений, которые активируют область задач без включения области чтения или сообщения, которое сначала выбрано из почтового ящика. Эта функция называется "нет контекста элемента". Следуйте инструкциям в этом пошаговом руководстве, чтобы узнать больше и открыть дополнительные возможности для надстройки. Например, вы можете разрешить пользователям доступ к содержимому из разных источников данных, таких как OneDrive или система управления отношениями с клиентами (CRM), непосредственно из клиента Outlook.

Примечание.

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

Хотя Outlook в Интернете и новый набор обязательных требований Outlook для Windows 1.13, надстройка не активируется, если область чтения скрыта или сообщение не выбрано. Дополнительные сведения см. в разделе Поддержка функций в Outlook в Интернете и новый Outlook в Windows.

Настройка среды

Выполните краткое руководство по Созданию надстройки Outlook с помощью генератора Yeoman для надстроек Office.

Чтобы включить эту функцию в уже существующий проект надстройки, см. статью Настройка манифеста.

Настройка манифеста

Действия по настройке манифеста зависят от типа манифеста, используемого надстройкой.

  1. В предпочитаемом редакторе кода откройте созданный проект быстрого запуска Outlook .

  2. Откройте файл manifest.json , расположенный в корне проекта.

  3. В первом объекте в массиве extensions.runtimes выполните следующие действия:

    1. Измените значение "requirements.capabilities.minVersion" на "1.13".
    2. Добавьте свойство supportsNoItemContext к объекту в массиве actions и задайте для его значения trueзначение .
    3. Добавьте свойство multiselect к тому же объекту и задайте для него значение true.
    4. Измените свойство pinnable в том же объекте на true.

    По завершении все будет выглядеть так, как показано ниже.

    "runtimes": [
        {
            "requirements": {
                "capabilities": [
                    {
                        "name": "Mailbox",
                        "minVersion": "1.13"
                    }
                ]
            },
            "id": "TaskPaneRuntime",
            "type": "general",
            "code": {
                "page": "https://localhost:3000/taskpane.html"
            },
            "lifetime": "short",
            "actions": [
                {
                    "id": "TaskPaneRuntimeShow",
                    "type": "openPage",
                    "view": "dashboard",
                    "pinnable": true,
                    "supportsNoItemContext": true,
                    "multiselect": true
                }
            ]
        }
    ]
    
  4. Удалите второй объект в массиве extensions.runtimes, идентификатор которого — CommandsRuntime.

  5. Массив extensions.ribbons.tabs.groups.controls содержит два объекта. Удалите второй объект, идентификатор которого имеет значение ActionButton.

Настройка области задач

  1. В проекте перейдите в папку области задач , а затем откройте taskpane.html.

  2. Замените весь <элемент body> следующей разметкой.

    <body class="ms-font-m ms-welcome ms-Fabric">
        <header class="ms-welcome__header ms-bgColor-neutralLighter">
            <img width="90" height="90" src="../../assets/logo-filled.png" alt="logo" title="Add-in logo" />
            <h1 class="ms-font-su">Activate your add-in without enabling the Reading Pane or selecting a message</h1>
        </header>
        <section id="sideload-msg" class="ms-welcome__main">
            <h2 class="ms-font-xl">Please <a target="_blank" href="https://learn.microsoft.com/office/dev/add-ins/testing/test-debug-office-add-ins#sideload-an-office-add-in-for-testing">sideload</a> your add-in to see app body.</h2>
        </section>
        <main id="app-body" class="ms-welcome__main" style="display: none;">
            <ul class="ms-List ms-welcome__features">
                <li class="ms-ListItem">
                    <i class="ms-Icon ms-Icon--CheckList ms-font-xl"></i>
                    <span class="ms-font-m">Item multi-select is automatically enabled when the <b>SupportsNoItemContext</b> manifest element is set to <code>true</code>. You can test this by selecting multiple messages in Outlook, then choosing <b>Show Taskpane</b> from the ribbon.</span>
                </li>
                <li class="ms-ListItem">
                    <i class="ms-Icon ms-Icon--Pin ms-font-xl"></i>
                    <span class="ms-font-m">Support to pin the task pane is also automatically enabled. You can test this by selecting the <b>pin</b> icon from the top right corner of the task pane.</span>
                </li>
                <li class="ms-ListItem">
                    <i class="ms-Icon ms-Icon--DockRight ms-font-xl"></i>
                    <span class="ms-font-m">This feature can only be implemented with a task pane.</span>
                </li>
                <li class="ms-ListItem">
                    <i class="ms-Icon ms-Icon--Design ms-font-xl"></i>
                    <span class="ms-font-m">Implement your scenario using this feature today! For example, enable your users to access content from different data sources, such as OneDrive or your customer relationship management (CRM) system, without first selecting a message.</span>
                </li>
            </ul>
        </main>
    </body>
    
  3. Сохраните изменения.

Обновление файла JavaScript области задач

  1. В папке области задач откройте taskpane.js.

  2. Перейдите к Office.onReady функции и замените ее содержимое следующим кодом.

    if (info.host === Office.HostType.Outlook) {
        document.getElementById("sideload-msg").style.display = "none";
        document.getElementById("app-body").style.display = "flex";
    }
    
  3. Сохраните изменения.

Проверка

  1. В терминале выполните следующий код в корневом каталоге проекта. Это запустит локальный веб-сервер и загрузит неопубликованную надстройку.

    npm start
    

    Совет

    Если надстройка не загружает неопубликованное приложение автоматически, следуйте инструкциям в разделе Загрузка неопубликованных надстроек Outlook для тестирования, чтобы вручную загрузить ее в Outlook.

  2. Перейдите в папку "Входящие" и выполните одно из следующих действий:

  3. Выберите Показать область задач на ленте.

  4. Изучите и протестируйте предложения, перечисленные в области задач.

  5. Если вы хотите остановить локальный веб-сервер и удалить надстройку, следуйте применимым инструкциям:

    • Чтобы остановить сервер, выполните следующую команду. Если вы использовали npm start, следующая команда также должна удалить надстройку.

      npm stop
      
    • Если вы вручную загрузили неопубликованную надстройку, см. статью Удаление неопубликоченной надстройки.

Поддержка функций области задач с несколькими выборами и закреплением элементов

Включение поддержки контекста элемента в манифесте автоматически включает поддержку функций области задач с множественным выбором и закреплениемэлементов, даже если эти функции явно не настроены в манифесте.

Поддержка функций в Outlook в Интернете и новых outlook в Windows

В Outlook в Интернете и outlook в Windows надстройки, которые не реализуют контекст элемента, не активируются, когда область чтения скрыта или если сообщение не выбрано. Это связано с тем, что команды надстроек в Outlook в Интернете не отображаются на ленте. Чтобы активировать надстройку из области Чтения сообщений, сначала необходимо выбрать сообщение, а затем выбрать команду надстройки на панели действий сообщений.

Так как включение контекста элемента автоматически включает функцию множественного выбора элементов, вы сможете активировать надстройку в Outlook в Интернете и новый Outlook в Windows для нескольких почтовых элементов.

См. также