Надстройка Outlook с использованием Angular 4

Я думаю, да. Используя if (now < twitterDate), он оценивает значение if (now.valueOf()<twitterDate.valueOf()). valueOf() поставляет количество миллисекунд, переданных с 01.01.1970 00:00:00, поэтому сравнение этих двух чисел действительно.

проверить это как [

var then = new Date("Tue Jan 12 21:33:28 +0000 2010")
   ,now  = new Date;

console.log(then.valueOf(),'::',now.valueOf(),'::',now<then);
  //=> 1263332008000 :: 1352365105901 :: false
3
задан Ehtisham Malik 18 January 2019 в 06:39
поделиться

1 ответ

  1. Вам нужно реализовать только один из них. Возможно, вы пытаетесь получить доступ к какому-либо офисному методу, прежде чем правильно инициализировать Office. Как правило, мне нравится иметь загрузочный экран со спиннером и перемещаться с него только после инициализации офиса.

    Office.initialize = function(reason) {
        window.location.hash = 'apploaded';
    }
    
  2. Нет - вам просто нужно инициализировать его один раз, если вы не обновляете сервер. Пока вы остаетесь в контексте своего приложения и не обновляете все приложение, а просто перемещаетесь между компонентами, все будет в порядке.

  3. Это может произойти, особенно если под локальным подразумевать, что вы делаете это без контекста Office (то есть вы не в клиенте). Как я обычно решаю эту проблему, никогда не получаю прямой доступ к объекту Office, но всегда через службу, которая в случае пропуска объекта Office или его подпроцедур не вызывает сбоев. Поэтому вместо

    // calling directly in some component
    office.context.mailbox.item.to.getAsync 
    

    я бы сделал

    OfficeService.GetAsync() {
        if (Office && Office.context && Office.context.mailbox && ...) {
             // call real method
        }
        else {
             console.log('Detected local mode - without office context')
             // do a fake test operation instead of the real thing.
        }
    
    }
    
  4. Посмотрите в файл функции . Это дает вам кнопку на ленте, которую вы можете щелкнуть и выполнить функцию в основном. Он по-прежнему будет загружать HTML-код в невидимый браузер, но в этом случае вы не получите панель задач. Это должно поддерживаться только в подмножестве клиентов, но не во всех.

  5. Есть несколько способов сделать это, вы можете просто указать URL-адрес вашей записи на панели задач в манифесте на этот URL-адрес компонента. Например,

    <SourceLocation DefaultValue="https://randommailaddin.org/component"/>
    

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

0
ответ дан Mavi Domates 18 January 2019 в 06:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: