Voici les informations à retenir :
- Vous pouvez désormais spécifier une zone de recadrage à l'aide de la capture de région lorsque vous utilisez
getDisplayMedia()
pour capturer l'onglet actuel. - La syntaxe des requêtes multimédias peut être écrite à l'aide d'opérateurs de comparaison mathématique.
- Transitions entre éléments partagés lance une phase d'évaluation de l'origine.
- Et ce n'est pas tout : d'autres fonctionnalités sont disponibles.
Je m'appelle Pete LePage. Voyons ce que Chrome 104 propose aux développeurs.
Spécifier une zone de recadrage avec la capture de région
getDisplayMedia()
permet de créer un flux vidéo à partir de l'onglet actuel. Toutefois, il peut arriver que vous ne souhaitiez pas l'intégralité de l'onglet, mais seulement une petite partie. Jusqu'à présent, la seule façon de procéder était de recadrer manuellement chaque frame vidéo.
Avec la capture de région, une application Web peut définir la zone spécifique de l'écran qu'elle souhaite partager. Par exemple, Google Slides peut vous permettre de rester dans la vue d'édition standard et de partager la diapositive actuelle.

Pour l'utiliser, sélectionnez l'élément à partager, puis créez un CropTarget
basé sur cet élément. Lancez ensuite le partage d'écran en appelant getDisplayMedia()
. L'utilisateur est alors invité à autoriser le partage de son écran. Appelez ensuite track.cropTo()
et transmettez le cropTarget
créé précédemment.
const elem = document.querySelector("#main");
const cropTarget = await CropTarget.fromElement(elem);
const stream = await navigator.mediaDevices
.getDisplayMedia({preferCurrentTab: true});
const [track] = stream.getVideoTracks();
await track.cropTo(cropTarget);
Pour en savoir plus, consultez Mieux partager les onglets avec la capture de région.
Requêtes multimédias plus faciles avec la syntaxe et l'évaluation de niveau 4
Les requêtes multimédias sont essentielles au responsive design, car elles vous permettent de définir des styles spécifiques pour différentes tailles de fenêtre d'affichage. Toutefois, sauf si vous les utilisez tous les jours, la syntaxe peut être un peu déroutante.
Chrome 104 est compatible avec les requêtes multimédias – Niveau 4 – Syntaxe et évaluation, ce qui vous permet d'écrire des requêtes multimédias à l'aide d'opérateurs de comparaison mathématique ordinaires.
Au lieu d'utiliser quelque chose comme ceci pour indiquer une fenêtre d'affichage comprise entre 400 et 600 pixels:
@media (min-width: 400px) and (max-width: 600px) {
/* Styles for viewports between 400px and 600px. */
}
Il peut être écrit comme suit:
@media (400px <= width <= 600px) {
/* Styles for viewports between 400px and 600px. */
}
En plus de rendre les requêtes multimédias moins verbeuses, la nouvelle syntaxe peut être plus précise. Les requêtes min-
et max-
sont inclusives. Par exemple, min-width: 400px
teste une largeur de 400 px ou plus. La nouvelle syntaxe vous permet d'être plus explicite sur ce que vous voulez dire.
@media (width < 400px) {
/* Styles for viewports less than 400px. */
}
@media (400px <= width <= 600px) {
/* Styles for viewports between 400px and 600px. */
}
@media (601px <= width <= 1000px) {
/* Styles for viewports between 601px and 1000px. */
}
Elle est déjà prise en charge dans Firefox, et un plug-in PostCSS réécrit la nouvelle syntaxe en ancienne, ce qui garantit la compatibilité avec les navigateurs.
Pour en savoir plus, consultez l'article de Rachel sur la nouvelle syntaxe des requêtes multimédias de plage dans Chrome 104.
Les transitions d'éléments partagés lancent une nouvelle phase d'évaluation de l'origine
Les applications spécifiques à une plate-forme présentent généralement des transitions fluides entre les différentes vues. Elles sont esthétiques, gardent l'utilisateur dans le contexte et rendent l'expérience plus performante. Alors que sur le Web, une navigation complète peut être rude et implique parfois un écran vide momentané. Pour une application monopage, cela peut être mieux, mais les transitions restent difficiles.
Les transitions d'éléments partagés, qui lancent une nouvelle phase d'évaluation de l'origine dans Chrome 104, vous permettent de fournir des transitions fluides, que les transitions soient interdocuments (par exemple, dans une application multipage) ou intradocuments (par exemple, dans une application monopage).
Voici un exemple approximatif du fonctionnement des transitions pour une application monopage. Dans la fonction de navigation, récupérez le contenu de la nouvelle page, puis vérifiez si les transitions sont prises en charge. Si ce n'est pas le cas, mettez à jour la page sans transition. Si c'est le cas, créez un transition()
et appelez start()
dessus, en informant l'API lorsque la modification du DOM est terminée.
async function spaNavigate(path) {
// Get new page content.
const data = await fetchPage(path);
// Check if transitions are supported, if not, use classic method.
if (!document.createDocumentTransition) {
await updateDOM(data);
return;
}
// Create transition
const transition = document.createDocumentTransition();
// Start transition, let API know when DOM change is complete.
transition.start(() => updateDOM(data));
}
Sous le capot, les transitions d'éléments partagés utilisent des animations CSS. Vous pouvez donc passer d'un effet de fondu à un effet de glissement, ou à tout autre effet de votre choix.
Je n'ai fait qu'effleurer la surface. Regardez la vidéo de Jake sur les transitions de page sur le Web ou consultez la vidéo explicative.
Et bien plus !
Bien sûr, il y a bien d'autres choses.
- Lorsque les cookies sont définis avec un attribut
Expires
ouMax-Age
explicite, la valeur est désormais limitée à 400 jours maximum. - L'API Multi-Screen Window Placement a été améliorée.
- La propriété CSS
overflow-clip-margin
spécifie la distance à laquelle le contenu d'un élément est autorisé à peindre avant d'être rogné.
Documentation complémentaire
Il ne s'agit là que de quelques-uns des points clés. Consultez les liens ci-dessous pour en savoir plus sur les modifications apportées à Chrome 104.
- Nouveautés des outils pour les développeurs Chrome (104)
- Obsoletes et suppressions dans Chrome 104
- Mises à jour de ChromeStatus.com pour Chrome 104
- Liste des modifications apportées au dépôt source Chromium
- Calendrier des versions de Chrome
S'abonner
Pour vous tenir informé, abonnez-vous à la chaîne YouTube des développeurs Chrome. Vous recevrez alors une notification par e-mail chaque fois que nous lancerons une nouvelle vidéo.
Je m'appelle Pete LePage. Dès que Chrome 105 sera disponible, je serai là pour vous présenter les nouveautés de Chrome.