28116 sujets

CSS et mise en forme, CSS3

Bonjour,
Avec :visited en CSS, peut-on détecter si quelqu'un est déjà allé sur un site ?

Comment afficher un lien si l'utilisateur est déjà allé sur Facebook ( https://facebook.com ou http://facebook.com ou https://www.facebook.com ou http://www.facebook.com ou www.facebook.com ou https://m.facebook.com/ ou http://m.facebook.com/login/ ou https://fr-fr.facebook.com/ ou https://en-gb.facebook.com/ ou...) ? S'il n'a visité aucun site avec l'URL Facebook dedans, ça ne s'affiche pas le lien, s'il en a visité au moins un, ça affiche un lien (toujours un, quel que soit le nombre d'URL différentes ouvertes).

Merci !
Modifié par js_html (04 Apr 2021 - 16:32)
Et serait-il possible de me donner un script ou de me guider ?
Merci !
Modifié par js_html (13 Mar 2021 - 11:19)
Modérateur
Bonjour,

Tes spécifications sont incomplètes.

Quel lien affiche-t-on si plusieurs ont été visité (puisqu'il semble que tu ne veuilles afficher qu'un seul lien) ?

Amicalement,
Il faudrait que le lien soit toujours le même, disons "https://facebook.com" mais je le compléterais après...
Merci !
Modérateur
Bonjour,

J'avais imaginé de mettre la liste de liens à tester, et ajouter en dernier le lien à afficher ou pas.

Ensuite, avec a:visited~a:last-of-type, j'espérais pouvoir afficher le lien si l'un de ses prédécesseurs avaient été visités.

Mais ça ne marche pas du fait du bridage de :visited.

Amicalement,

PS: et c'est très bien comme ça que ce soit bridé Smiley lol Smiley lol Smiley lol
Modifié par parsimonhi (13 Mar 2021 - 11:59)
Et on ne peut pas mettre dans le href un astérisque ou je ne sais quoi pour dire "(quelque chose)facebook.com(quelque chose ou rien)" ?
Avec :visited, on peut tester seulement une URL telle quelle ?
Merci !
Modérateur
Bonjour,

Le bridage a pour but de t'empêcher de savoir ce que l'internaute a déjà visité.

Donc même si tu trouvais une combine qui marche avec un navigateur, rien ne dit qu'elle marchera avec les autres navigateurs, ou dans le futur.

Une fois de plus, on tombe sur quelque chose que la morale (et les navigateurs) réprouve.

Amicalement,
Modifié par parsimonhi (13 Mar 2021 - 12:04)
a écrit :
PS: et c'est très bien comme ça que ce soit bridé
je suis d'accord que c'est mieux que si tout le monde pouvait récupérer l'URL en JS pour l'envoyer après, mais je trouve que le bridage est un peu trop sévère ! Par exemple, pourquoi ne pas autoriser display, position, visibility, height, width avec :visited, quitte à, après, comme pour les couleurs, en JS donner de fausses valeurs ?
Meilleure solution
Modérateur
Bonjour,

js_html a écrit :
... mais je trouve que le bridage est un peu trop sévère ! Par exemple, pourquoi ne pas autoriser display, position, visibility, height, width avec :visited, quitte à, après, comme pour les couleurs, en JS donner de fausses valeurs ?


Postule au W3C ou chez les éditeurs de navigateur. Smiley lol Smiley lol Smiley lol

Plus sérieusement (et si j'ai bien compris le problème que je découvre ce matin), tu ne peux pas laisser par exemple la propriété visibility utilisable car la première chose que va essayer un bricoleur sera justement de cacher ces liens :visited.

Amicalement,
a écrit :
Plus sérieusement (et si j'ai bien compris le problème que je découvre ce matin), tu ne peux pas laisser par exemple la propriété visibility utilisable car la première chose que va essayer un bricoleur sera justement de cacher ces liens :visited.
Eh bien moi, je n'ai pas compris ce que tu souhaites dire... Smiley bawling
Modifié par js_html (13 Mar 2021 - 12:15)
Modérateur
Bonjour,

Je me souviens de l'époque où il était possible de détecter ce que l'utilisateur avait visité en exploitant :visited. Un développeur avait créé une page spécifiquement pour ça et il était en mesure d'envoyer à un lien à une victime pour connaître ce qu'il avait visité. L'information était ensuite stockée sur son serveur avec le nom de la victime. Vous vous douterez que c'était surtout pour savoir si la victime avait visitée des sites coquins.

Quelques temps plus tard la situation fut corrigée par les navigateurs majeurs.