Le pop-up parfait
Les plats clés
- Les fenêtres contextuelles peuvent être utilisées efficacement et de manière non invasive, à condition qu'elles soient implémentées correctement. Les défauts communs incluent des problèmes de script, des moteurs de recherche, de l'accessibilité, des outils de gestion du site, des tueurs contextuels et des options pour empêcher les fenêtres contextuelles d'ouvrir.
- Pour créer une fenêtre contextuelle parfaite, envisagez d'utiliser une fonction qui peut être placée dans un code JavaScript couramment partagé. Cette fonction peut facilement être appelée de n'importe où sur le site, et elle est plus préférable que d'écrire la fonction Window.Open à chaque fois. La fonction doit gérer l'aspect de mise au point, évaluer l'état de la fenêtre contextuelle, fermer la fenêtre contextuelle et la rouvrir avec ses nouvelles dimensions.
- Il est important de fournir un lien ou un bouton dans la fenêtre contextuelle elle-même pour permettre aux utilisateurs de le fermer. Cependant, si l'utilisateur a des scripts désactivés, le lien «Fermez cette fenêtre» doit être écrit sur la page Web à l'aide de JavaScript et vérifiez si la fenêtre a été ouverte dans le cadre d'une méthode Window.Open (). S'il s'agit d'un véritable pop-up, le lien apparaîtra et la méthode close () fonctionnera; S'il ne s'agit pas d'une véritable fenêtre contextuelle, le lien n'apparaîtra pas.
Si vous croyez que Jakob Neilsen et ses partisans, rien n'est plus mauvais que les fenêtres pop-up. Et à bien des égards, c'est correct. Pourquoi? Eh bien, nous énumérons les raisons assez tôt, mais en un mot, c'est parce qu'ils sont presque toujours mal mis en œuvre ou tout simplement pas nécessaires. Ce tutoriel montrera que, avec la bonne pensée, les fenêtres pop-up peuvent être utilisées sans déranger personne - en particulier la personne qui parcoure votre site.
Problèmes avec les pop-ups
Les défauts communs avec des fenêtres pop-up sont:
- Si les scripts sont désactivés, ou si le navigateur ne prend pas en charge JavaScript, la fenêtre contextuelle ne fonctionnera pas
- Les moteurs de recherche ne peuvent pas suivre les liens vers des fenêtres contextuelles (les éléments scriptés sont toujours ignorés)
- Les pop-ups présentent des problèmes d'accessibilité
- Les outils de gestion du site (par exemple Dreamweaver) ne peuvent pas mettre à jour des liens vers des fenêtres contextuelles si vous déplacez la page de destination vers une autre section de votre site
- Beaucoup de gens ont des tueurs pop-up qui coulent qui ferment la fenêtre au moment où il est ouvert
- À Mozilla, il y a une option pour arrêter l'ouverture des pop-ups en premier lieu
ouf. C'est tout une liste… et vous pourriez probablement ajouter la vôtre à cette liste. Alors, comment pouvons-nous aborder ces derniers?
Scripting Disabled
Avec les scripts désactivés, la fenêtre contextuelle ne fait rien. Aussi simple que ça. Mais si vous avez utilisé un standard , il n'y aurait pas de problème. Donc, au lieu d'utiliser:
<a href="#" onclick="window.open('file.htm');">
vous pouvez utiliser:
<a href="file.htm" onclick="window.open('file.htm');return false;">
de cette façon, si le script est désactivé, le lien standard fonctionne toujours.
Cependant, il y a peut-être une très bonne raison pour laquelle vous voulez que la fenêtre s'ouvre sur le dessus de la fenêtre actuelle. Si c'est le cas, ajoutez simplement un attribut cible comme ça:
<a href="#" onclick="window.open('file.htm');">
bingo. Problème résolu. Mais il y a plus que nous pouvons faire à cela!
Moteurs de recherche
Avec le code modifié ci-dessus, les moteurs de recherche obtiennent un HREF standard à suivre, donc c'est un autre problème coché notre liste de problèmes.
Problèmes d'accessibilité
La plus grande faute des pop-ups est qu'ils éloignent l'attention de la fenêtre du navigateur principal, et cela peut être déconcertant. Ils présentent également des problèmes généraux d'utilisation en dehors de l'accessibilité. Combien de fois avez-vous vu quelqu'un lancer une fenêtre contextuelle, puis cliquez par inadvertance sur la fenêtre du lanceur et, pensant que rien ne s'est passé, cliquez à nouveau sur le lien sans résultat? Bien sûr, la fenêtre s'est ouverte, mais elle est maintenant sous la fenêtre de lanceur, et se diriger uniquement vers la barre de tâche et la sélection de la fenêtre à partir de là.
L'astuce consiste à informer l'utilisateur que le lien s'ouvrira dans une nouvelle fenêtre. Il existe plusieurs façons de résoudre ce problème:
- Inclure des instructions dans le cadre du lien lui-même
- Ajoutez des instructions dans un attribut de titre
- Utilisez une icône appropriée pour signifier qu'un pop-up est imminent
Ouvrez ma page de test (s'ouvre dans une fenêtre contextuelle)
Ouvrir ma page de test
Outils de gestion des liens de site
Si vous avez l'habitude de déplacer des pages en utilisant des outils comme Dreamweaver ou un système de gestion de contenu, vous espérez que les liens seront maintenus. Avec HREFS standard, ils le sont généralement (selon l'outil que vous utilisez), mais avec JavaScript, c'est peu probable. Retour à notre code pendant un moment:
<a href="file.htm" onclick="window.open('file.htm');return false;">Le lien ci-dessus serait très bien maintenu… presque. La moitié de ce serait - la partie HREF. Mais la partie onclick serait probablement ignorée. C'est un gros problème. Vous pourriez penser que vos liens ont été mis à jour, mais en fait, les gens qui ont un JavaScript activé seraient envoyés à une page manquante. Ainsi, vous pourriez constater que votre code serait modifié en:
<a href="file.htm" onclick="window.open('file.htm'); <br> return false;" target="newWin">Et si vous deviez exécuter un validateur de lien sur la page de lancement, il semblerait que votre lien soit en effet valide. Alors, comment résumons-nous ce problème? Comme ainsi:
<a href="file.htm" onclick="window.open('file.htm'); <br> return false;">Il n'y a qu'un seul lien à maintenir, et le HREF correct sera utilisé pour la méthode Window.Open. Excellent - maintenant nous arrivons quelque part!
Les tueurs pop-up / mozilla désactivent les pop-ups
Comme avec le problème de la désactivation de JavaScript, la simple fourniture d'un HREF standard signifie que le lien fonctionnera toujours. Maintenant, nous n'avons qu'à résoudre le problème de quelle fenêtre a la focalisation…
Le script pop-up parfait
Nous recommandons d'utiliser une fonction qui peut être placée dans un code JavaScript couramment partagé (comme nous l'avons fait avec ce site), et qui peut facilement être appelé de n'importe où dans le site. Ceci est beaucoup plus préférable que d'écrire laborieusement la fonction de la fenêtre.Open à chaque fois. En plus de l'URL, vous voudrez peut-être inclure des paramètres tels que la hauteur et la largeur, et quel type de style pop-up à choisir (c'est à vous de vos styles que vous définissez).
Voici le code que je recommande:
<a href="#" onclick="window.open('file.htm');">
Le code supplémentaire de la fonction gère l'aspect de mise au point. Si vous cliquez sur un lien qui appelle cette fonction, puis cliquez sur la page de telle sorte que la fenêtre contextuelle est masquée, puis cliquez sur un autre lien contextuel, le code évalue l'état de la fenêtre contextuelle, puis ferme la fenêtre contextuelle et la rouvre avec ses nouvelles dimensions.
pour appeler la fonction, vous utiliseriez le code suivant:
<a href="file.htm" onclick="window.open('file.htm');return false;">
ou, pour utiliser quelques exemples réels:
ceci
est mon lien contextuel (mode console)
Ce
est mon pop-up (mode fixe)
Ce
est mon (mode élastique)
Remarque: la partie «return false» annule efficacement l'action par défaut du HREF, donc il n'ouvrira pas la fenêtre contextuelle et une fenêtre HTML normale - elle ouvrira l'une ou l'autre. Essayez les liens ci-dessus avec et sans JavaScript Activé de voir par vous-même.
Que pourriez-vous demander de plus? Eh bien… il y a un dernier morceau de glaçage sur ce gâteau.
Clôture du pop-up
Une fois la fenêtre contextuelle ouverte, nous pouvons compter sur les personnes pour utiliser les commandes du navigateur / système d'exploitation pour fermer la fenêtre nouvellement ouverte.
Mais les gens ne font pas toujours ça! Nous devons donc fournir un lien (ou un bouton, si vous préférez) dans la fenêtre contextuelle elle-même pour permettre aux utilisateurs de le fermer. Cependant, supposons que notre utilisateur a des scripts désactivés et que la fenêtre contextuelle a été ouverte via la route HREF standard. Le lien «Fermez cette fenêtre» que vous avez si réfléchie provoquera un dialogue pas très amical comme ceci:
Pour contourner ce problème, vous devez écrire le lien de fermeture vers la page Web à l'aide de JavaScript et vérifier si la fenêtre a été ouverte dans le cadre d'une méthode Window.Open (). De cette façon, s'il s'agit d'un véritable pop-up, le lien apparaîtra et la méthode close () fonctionnera; S'il ne s'agit pas d'une véritable fenêtre contextuelle, le lien n'apparaîtra pas.
Voici le code pour faire ceci:
<a href="file.htm" onclick="window.open('file.htm'); <br> return false;" target="newWin">
essayez à nouveau le lien et voyez par vous-même:
ceci
est mon pop-up (mode fixe)
Conclusion
Espérons que ce tutoriel a démontré que les liens pop-up peuvent être accessibles, conviviaux et non invasifs de recherche. Cependant, même si vous suivez tous ces conseils, vous devez toujours vous demander si vous avez vraiment besoin d'ouvrir une nouvelle fenêtre.
Un dernier point à noter est que les fenêtres contextuelles devraient être quelque chose que les gens optent pour utiliser, alors n'utilisez pas une fenêtre. Cela agace toujours le diable des gens… à moins qu'ils ne voulaient acheter une caméra X10 ou visiter le «plus grand casino en ligne du monde» mais ne le savait pas, c'est-à-dire!
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT
Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Cet article présentera comment utiliser JavaScript pour réaliser l'effet de cliquer sur les images. L'idée principale est d'utiliser l'attribut Data- * de HTML5 pour stocker le chemin d'image alternatif et écouter des événements de clic via JavaScript, changez dynamiquement les attributs SRC, réalisant ainsi la commutation d'image. Cet article fournira des exemples de code et des explications détaillés pour vous aider à comprendre et à maîtriser cet effet interactif couramment utilisé.

Tout d'abord, vérifiez si le navigateur prend en charge GeolocationAPI. Si vous êtes pris en charge, appelez getCurrentPosition () pour obtenir les coordonnées de l'emplacement actuelles de l'utilisateur et obtenir les valeurs de latitude et de longitude grâce à des rappels réussis. Dans le même temps, fournissez des exceptions de traitement des rappels d'erreur tels que l'autorisation de déni, l'indisponibilité de l'emplacement ou du délai d'attente. Vous pouvez également transmettre des options de configuration pour activer une précision élevée, définir le délai d'expiration et la période de validité du cache. L'ensemble du processus nécessite l'autorisation de l'utilisateur et la gestion des erreurs correspondante.

Cet article vise à résoudre le problème du retour null lors de l'obtention d'éléments DOM via document.getElementById () dans JavaScript. Le noyau consiste à comprendre le synchronisation d'exécution du script et l'état de l'analyse DOM. En plaçant correctement la balise ou en utilisant l'événement téléchargé DomContent, vous pouvez vous assurer que l'élément est à nouveau tenté lorsqu'il est disponible, en évitant efficacement de telles erreurs.

Pour créer un intervalle de répétition dans JavaScript, vous devez utiliser la fonction setInterval (), qui exécutera à plusieurs reprises des fonctions ou des blocs de code à des intervalles de millisecondes spécifiés. Par exemple, setInterval (() => {Console.log ("Exécuter toutes les 2 secondes");}, 2000) publiera un message toutes les 2 secondes jusqu'à ce qu'il soit effacé par ClearInterval (Interpalid). Il peut être utilisé dans les applications réelles pour mettre à jour les horloges, les serveurs de sondage, etc., mais faire attention à la limite de retard minimum et à l'impact du temps d'exécution de la fonction, et effacez l'intervalle dans le temps lorsqu'il n'est plus nécessaire pour éviter les fuites de mémoire. Surtout avant la désinstallation des composants ou la fermeture des pages, assurez-vous que

L'utilisation du noyau de l'API de composition de Nuxt3 comprend: 1. DefinePageMeta est utilisée pour définir les méta-informations de la page, telles que le titre, la mise en page et le middleware, qui doivent être appelées directement et ne peuvent pas être placées dans des déclarations conditionnelles; 2. Usyhead est utilisé pour gérer les balises d'en-tête de page, prend en charge les mises à jour statiques et réactives et doit coopérer avec DefinePageMeta pour obtenir l'optimisation du référencement; 3. USEASYNCDATA est utilisé pour obtenir en toute sécurité des données asynchrones, gérer automatiquement l'état de chargement et d'erreur et prend en charge le contrôle d'acquisition de données du serveur et du client; 4. UseFetch est une encapsulation de usEasyncdata et $ fetch, qui dépente automatiquement la clé de demande pour éviter les demandes en double

Utilisez la méthode WriteText de ClipboardAPI pour copier du texte dans le presse-papiers, il doit être appelé dans le contexte de sécurité et l'interaction utilisateur, prend en charge les navigateurs modernes et l'ancienne version peut être dégradée avec EXECCOMAND.

ThebestatorreatEAmulti-linestringinjavascriptsisingstingTemplatalalswithbackticks, qui sepresereBreakenexactlyAswritten.

Ce tutoriel explique en détail comment formater les numéros en chaînes avec deux décimales fixes en JavaScript, même les entiers peuvent être affichés sous la forme de "# .00". Nous nous concentrerons sur l'utilisation de la méthode numéro.prototype.tofixed (), y compris sa syntaxe, sa fonctionnalité, son exemple de code et des points clés à noter, comme son type de retour étant toujours une chaîne.
