Détection du mode sombre en JavaScript pour une utilisation avec l'API Stripe Elements
Windows et macOS proposent désormais des modes sombres, permettant aux utilisateurs d'ajuster la couleur de l'interface schéma selon leurs préférences. Pour le style CSS, @media (prefers-dark-interface) peut être utilisé pour appliquer des règles spécifiques pour le mode sombre. Cependant, cette approche n'affectera pas directement les composants stylisés en JavaScript, tels que ceux créés avec l'API Stripe Elements.
Pour détecter le jeu de couleurs préféré du système d'exploitation en JavaScript, la méthode window.matchMedia peut être utilisée :
if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { // dark mode is enabled }
Cette vérification renverra vrai si l'utilisateur a activé le mode sombre sur son système. Vous pouvez ensuite utiliser ces informations pour appliquer dynamiquement des styles personnalisés à vos éléments Stripe, garantissant ainsi la cohérence avec le thème d'interface préféré de l'utilisateur.
Par exemple, si vous souhaitez définir la couleur du texte des éléments Stripe sur blanc en mode sombre est activé, vous pouvez utiliser l'extrait suivant :
const stripeElementStyles = { base: { color: window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? COLORS.white : COLORS.darkGrey, // ... other styles } }
De plus, si vous souhaitez surveiller les modifications apportées aux préférences de jeu de couleurs de l'utilisateur, vous pouvez utiliser l'option Méthode addEventListener :
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => { const newColorScheme = event.matches ? 'dark' : 'light'; // Update styles based on the new color scheme });
En mettant en œuvre ces techniques, vous pouvez vous assurer que vos éléments Stripe s'adaptent de manière transparente à la palette de couleurs préférée de l'utilisateur, offrant une expérience cohérente et visuellement agréable quel que soit son système d'exploitation ou les paramètres de son appareil.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!