CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Je cherche un DIEU du javascript

Boa_
Boa_
Niveau 10
21 mai 2010 à 19:59:30

Non j'utilise pas un timer. Je relance la fonction ttes les 500 ms puisque facebook modifie la page mm après la fin du chargement avec du js.

Onchozor
Onchozor
Niveau 6
21 mai 2010 à 20:00:18

eatachicken:(w/"sauceBBQ)document:"mustard";

Boa_
Boa_
Niveau 10
21 mai 2010 à 20:00:22

(Enfin si j'utilise un timer. Mais pas setTimeout, c'est dans ce sens là que je le disais :o )

Boa_
Boa_
Niveau 10
21 mai 2010 à 20:01:55

Heu par contre dans le code, il faut enlever le alt de la balise img, sinon ça va faire une réaction en chaîne^^

Epoch
Epoch
Niveau 10
21 mai 2010 à 20:02:29

Pour l'amélioration :

// ==UserScript==
// @name Smileys jv.com pour facebook
// @namespace Vali202
// @description Smiley jv.com pour facebook
// @include http://www.facebook.com/*
// ==/UserScript==

function smiley(array){

//Faire une boucle for pour parcourir le tableau
//et répéter l'opération de recherche/remplacement
var smiley = document.body.innerHTML;
var regexHap = new RegExp(" ( :hap: ) ", "g");

smiley = smiley = smiley.replace(regexHap,'<img border="0"

src="http://image.jeuxvideo.com/smileys_img/18.gif

" alt=" :hap: " />');

document.body.innerHTML=smiley;
}

tab = new Array(2)
tab[0] = " :noel: "
tab[1] = " :hap: "

setInterval("smiley(tab)", 500);

Voilà, fait à l'arrache, mais avec un peu d'arrangement tu serais plus tranquille (puis c'est plus propre)

Boa_
Boa_
Niveau 10
21 mai 2010 à 20:03:42

En enlevant l'attribut alt ce sera parfait. :)

Epoch
Epoch
Niveau 10
21 mai 2010 à 20:03:44

Boa_ => Je t'assure que setTimeOut fait la même chose, je le sais, on l'utilise en cours ^^

"sinon ça va faire une réaction en chaîne^^"

Pas con, ça va faire quelque chose d'infini ^^

Il n'a qu'à enlever les :, ça suffira.

Je lui poste ça sur le site du zéro ;)

Boa_
Boa_
Niveau 10
21 mai 2010 à 20:04:55

Oui le setTimeout (sans majuscule au O) fonctionne à peu près pareil, mais il faudrait le réenclencher à chaque fin de fonction. Le setInterval convient mieux à ce cas.

Epoch
Epoch
Niveau 10
21 mai 2010 à 20:05:57

"Oui le setTimeout (sans majuscule au O) fonctionne à peu près pareil, mais il faudrait le réenclencher à chaque fin de fonction. Le setInterval convient mieux à ce cas. "

Développes la différence entre les deux, ça m'intéresse ^^.

Boa_
Boa_
Niveau 10
21 mai 2010 à 20:08:22

Ce code va dire coucou une fois au bout d'une seconde :
setTimeout(function() { alert('coucou'); }, 1000);

Ce code va dire coucou toutes les secondes :
setInterval(function() { alert('coucou'); }, 1000);

Pour utiliser le setTimeout comme tu voulais le faire ça serait revenu à ça :
setTimeout(function() { alert('coucou'); setTimeout(arguments.callee, 1000); }, 1000);

Epoch
Epoch
Niveau 10
21 mai 2010 à 20:08:29

Ah oui, j'aimerais justifier mon for qui ne semble franchement pas optimisé, vu qu'on pourrait utiliser les $1 jusqu'à $9.

La raison est dans la phrase du dessus : On fait comment pour utiliser les smileys d'après?

Une seule possibilité sans tableau, ce serait de faire comme sur console linux (ou batch, mais bon...), avec un shift. Mais franchement, pourquoi s'embêter avec ça sur js... de plus, pas sûr que ça existe ^^

Epoch
Epoch
Niveau 10
21 mai 2010 à 20:09:42

Boa_ => Ah, zarb, je l'avais utilisé pour afficher l'heure à la nanoseconde près (bah ouais, quand on se fait chier en TP ^^), m'bon, on va remplacer alors (pour la différence que ça fait ;) )

Vali202
Vali202
Niveau 10
21 mai 2010 à 20:11:45

Merci beaucoup, je vais faire cette boucle :fier:

Epoch
Epoch
Niveau 10
21 mai 2010 à 20:12:17

Hm, tiens, j'ai une question à ce propos :

Faut savoir que le code implique une recherche itérative. Donc ça prend déjà de la mémoire. Le faire toutes les secondes est-il une bonne idée? Je ne vois qu'une justification : FaceBook actualiserait en parallèle et ça ferait foirer le script. Si c'est ça, au temps pour moi, je la boucle :noel: . Sinon, setTimeout deviendrait plus légitime

(Je sais, je pinaille =O)

Boa_
Boa_
Niveau 10
21 mai 2010 à 20:12:58

Ben comme ça :

// ==UserScript==
// @name Smileys jv.com pour facebook
// @namespace Vali202
// @description Smiley jv.com pour facebook
// @include http://www.facebook.com/*
// ==/UserScript==

var tab = {
' :hap: ':'https://image.jeuxvideo.com/smileys_img/18
.gif',
' :noel: ':'https://image.jeuxvideo.com/smileys_img/1
1.gif'};

setInterval(function() {
var w = document.body.innerHTML;
for(var smiley in tab) {

var lien = tab[smiley];
var recherche = new RegExp(smiley, 'g');
w = w.replace(recherche, '<img src="' + lien + '" border="0" />');
}
document.body.innerHTML = w;

}, 500);

Vali202
Vali202
Niveau 10
21 mai 2010 à 20:15:17

http://pastebin.com/
tu pourrais coller ton code là ?
Sur jv.com ca foire, et sur pastebin y a la coloration :hap:

Epoch
Epoch
Niveau 10
21 mai 2010 à 20:15:24

De rien Vali.

Je te propose une amélioration : Plutot qu'un array à la con que tu vas devoir modifier à chaque fois, crée une base de donnée mysql (j'sais pas si tu peux coupler avec js, au pire, y'a php) avec une table unique.

qui serait (bon, elle sera pas bcnf (pour les connaisseurs, sinon passez :noel: ), mais pas le temps de faire de la conception là :noel: )

Smiley((Primary)IdSmiley, NomSmiley, LienSmiley)
(Primary pour clé primaire)

Ainsi, tu n'aurais plus à le redistribuer, juste à faire des insertions ^^.

Boa_
Boa_
Niveau 10
21 mai 2010 à 20:15:29

Epoch -> Ce ne se ressentira pas du tout une fois toutes les 500 ms. On pourrait mm baisser si on remarque des latences au remplacement des smileys. Mais comme dit des fonctions normalement appelées lors d'évènements pourraient être perturbées par ce innerHTML qui remplace TOUT le contenu du document. C'est loin d'être une solution propre, mais je ne suis pas là pour juger votre façon de coder.

Boa_
Boa_
Niveau 10
21 mai 2010 à 20:16:42

Heu par contre là t'as dit une énorme connerie. Du SQL pour un script greasemonkey qui remplace des smileys? :noel:

FaceCamo
FaceCamo
Niveau 10
21 mai 2010 à 20:17:57

Mais c'est STUPIDE :doute:

ça te les replacera que pour toi :(

Sous forums
  • Le Grand Voyage
  • La Corée du Toast ( Salut Yuengling )
La vidéo du moment