<p><strong>Mise à jour du 5 décembre 2016 : Nous allons bientôt publier une API pour détecter les informations de la plateforme</strong> (en partie en réponse au fait que le paramètre d’URL <code>host_info</code>, sur lequel les gens s’étaient appuyés de manière non officielle, a dû être récemment supprimé pour Office Online). Nous avons également une solution de contournement temporaire en attendant la prochaine API officielle. <strong>Consultez “<a href="https://stackoverflow.com/questions/40688057/in-excel-online-officejs-api-is-not-passing-the-host-info-parameter-anymore-to/40963500#40963500">In Excel Online, OfficeJS API is not passing the host_Info parameter anymore to Excel Add-In</a>” pour des informations sur l’API et la solution de contournement.</strong></p>
<p>Je conserve l’<strong>ancienne réponse</strong> ci-dessous, car elle est <em>toujours pertinente pour la plupart des scénarios d’activation</em>. <strong>La détection de plateforme devrait toujours être utilisée avec parcimonie, car l’interrogation des ensembles d’API vous donne un contrôle plus fin</strong>, et garantit que votre complément “active” les nouvelles fonctionnalités lorsqu’elles sont ajoutées à une plateforme particulière.</p>
<p>Il semble que vous décriviez un scénario d’“activation”. Pour ce type de cas d’utilisation, ce n’est pas tant la version <em>réelle</em> qui vous intéresse (voulez-vous vraiment maintenir une liste interne de toutes les versions minimales – d’Excel bureau, et bientôt Excel Online et iOS, et la garder à jour ?), mais plutôt, vous voulez vérifier la <em>capacité</em> qu’une fonctionnalité est présente. Et ensuite offrir une expérience différenciée selon que la capacité est là ou non.</p>
<p>À cette fin, je recommanderais une toute nouvelle API que nous venons de publier en même temps que ces API (et qui est rétro-portée vers toutes les versions précédentes – donc tant que vous utilisez la dernière version d’Office.js depuis le CDN, tout devrait fonctionner). Cette API vous offre la possibilité de vérifier, à l’exécution, si un ensemble d’API particulier est pris en charge. Cela ressemble à :</p>
<p>`if (Office.context.requirements.isSetSupported(‘ExcelApi’, 1.1)) {<br>
// Do something that is only available via the new APIs<br>
}</p>
<pre><code class="lang-auto">
La documentation officielle à ce sujet sera disponible sous peu, et notre exemple commencera bientôt à l'utiliser également. Restez à l'écoute...
(Réponse tronquée)</code></pre>