Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1342 connectés 

 

Sujet(s) à lire :
    - Who's who@Programmation
 

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  24271  24272  24273  ..  25934  25935  25936  25937  25938  25939
Auteur Sujet :

[blabla@hosto] Le topic des vieux

n°2396208
SekYo
Posté le 21-09-2021 à 11:42:57  profilanswer
 

Reprise du message précédent :

masklinn a écrit :

‘Fin pour l’unicode c’est surtout quand tu veux faire du processing un peu bizarre dessus, pareil qu’avec les addresses, tant que tu ouvres pas la boite pour bricoler dedans t’as pas de problèmes.


Oh putain les adresses, quelle natasserie. Rien que les codes postaux en France c'est un vrai merdier :D
Y a pas une liste quelque part du type "les trucs qui paraissent simples de prime abord comme ça, mais sur lesquels tu vas t'arracher les cheveux si tu dois rentrer dedans ?" Pour des devs juniors ça pourrait être pas mal.

mood
Publicité
Posté le 21-09-2021 à 11:42:57  profilanswer
 

n°2396209
Jubijub
Parce que je le VD bien
Posté le 21-09-2021 à 13:35:21  profilanswer
 

Les taxes aussi, toujours très sympa à calculer (je parle dans des pays genre US, CA, BR)


---------------
Jubi Photos : Flickr - 500px
n°2396210
ratibus
Posté le 21-09-2021 à 13:56:46  profilanswer
 

SekYo a écrit :


Oh putain les adresses, quelle natasserie. Rien que les codes postaux en France c'est un vrai merdier :D
Y a pas une liste quelque part du type "les trucs qui paraissent simples de prime abord comme ça, mais sur lesquels tu vas t'arracher les cheveux si tu dois rentrer dedans ?" Pour des devs juniors ça pourrait être pas mal.


 
J'étais tombé sur un github qui listait plein de trucs comme ça.


---------------
Mon blog
n°2396211
masklinn
í dag viðrar vel til loftárása
Posté le 21-09-2021 à 13:57:10  profilanswer
 

SekYo a écrit :


Oh putain les adresses, quelle natasserie. Rien que les codes postaux en France c'est un vrai merdier :D
Y a pas une liste quelque part du type "les trucs qui paraissent simples de prime abord comme ça, mais sur lesquels tu vas t'arracher les cheveux si tu dois rentrer dedans ?" Pour des devs juniors ça pourrait être pas mal.


Tous les trucs qui ont des articles “falsehoods programmers believe”.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°2396212
Devil'sTig​er
Posté le 21-09-2021 à 14:29:11  profilanswer
 

ratibus a écrit :


 
J'étais tombé sur un github qui listait plein de trucs comme ça.


https://github.com/kdeldycke/awesom [...] s-and-time ?
 
De toute facon n'importe quel truc ou un humain a mis son nez dedans est toujours rempli de caca.
 
Meme pour des trucs simples tu as parfois des debats a la con, genre:
 
https://www.electrictime.com/news/r [...] ock-dials/
 
https://www.mentalfloss.com/article [...] itescroll1
 
IIII vs IV sur les horloges... Si meme un truc comme ca est foutu, imagine les time zones :D
 
Sinon, a titre personnel, j'ai pris cher avec le "UTC EVERYWHERE". Et globalement je dirais les time zone/le temps reste un des plus courant et un des pire merdier je pense... Je compte plus les emmerdes sur ce point la en particulier...

n°2396213
gatsu35
Blablaté par Harko
Posté le 21-09-2021 à 14:54:04  profilanswer
 

Parce que j'ai pas envie de travailler je viens de me faire un coupeur de pubs pour facebook (utiliser tampermonkey)

 

Ca cible seulement les feeds qui sont estampillés "sponsorisé", et comme ils ont cachés de manière barbare le mot "sponsorisé" et que les classNames sont aléatoires j'ai fait un code moche

 
Code :
  1. //Va voir plus bas :o
 

Alors je check toutes les 500ms c'est peut-être trop.

Message cité 1 fois
Message édité par gatsu35 le 21-09-2021 à 16:09:39

---------------
Blablaté par Harko
n°2396214
___alt
Posté le 21-09-2021 à 14:57:31  profilanswer
 

Sans avoir fait d'analyse fine là, t'as une regexp qui est fortement susceptible d'exploser niveau perfs s'il y a beaucoup de nodes à parcourir et du texte long.


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2396215
___alt
Posté le 21-09-2021 à 15:01:38  profilanswer
 

Par curiosité ils introduisent quoi dan le texte pour éclater le mot "Sponsorisé" sans que ça soit visible ? Des sous-éléments ? Des caractères invisibles ?


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2396216
gatsu35
Blablaté par Harko
Posté le 21-09-2021 à 15:02:08  profilanswer
 

___alt a écrit :

Sans avoir fait d'analyse fine là, t'as une regexp qui est fortement susceptible d'exploser niveau perfs s'il y a beaucoup de nodes à parcourir et du texte long.


ouais c'est un gros jet dégueulasse de cochon, quoi que, je check sur du textContent et sur les spans, et comme ils ne contiennent pas non plus trop de texte.
 
J'avais pas la possibilité de faire autrement sauf si tu as une solution.  
 
Voilà ce que peux contenir le textcontent d'un span qui englobe le sponsorisé :  

Code :
  1. trnSpglohSponiosnflnorsoiricesédd


Et cela est clairement dynamique, rien de fixe dans ce bordel.
A la rigueur je peux plutôt matcher les "a['href^=/ads']", ça sera mieux


---------------
Blablaté par Harko
n°2396217
___alt
Posté le 21-09-2021 à 15:04:52  profilanswer
 

Ah ouais, vla le bordel. Mais du coup pour faire le rendu ils modifient ça comment ?


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
mood
Publicité
Posté le 21-09-2021 à 15:04:52  profilanswer
 

n°2396218
Jubijub
Parce que je le VD bien
Posté le 21-09-2021 à 15:07:29  profilanswer
 

gatsu35 a écrit :

Parce que j'ai pas envie de travailler je viens de me faire un coupeur de pubs pour facebook (utiliser tampermonkey)
 
Ca cible seulement les feeds qui sont estampillés "sponsorisé", et comme ils ont cachés de manière barbare le mot "sponsorisé" et que les classNames sont aléatoires j'ai fait un code moche
 

Code :
  1. // ==UserScript==
  2. // @name         Facebook publicités
  3. // @namespace    http://tampermonkey.net/
  4. // @version      0.1
  5. // @description  try to take over the world!
  6. // @author       You
  7. // @match        https://www.facebook.com/
  8. // @icon         https://www.google.com/s2/favicons?domain=facebook.com
  9. // @grant        none
  10. // ==/UserScript==
  11. (function() {
  12.     'use strict';
  13.     const check = () => {
  14.         var spans = $$('span').filter(span => { return  /S.*p.*o.*n.*s.*o.*r.*o.*s.*é/.test(span.textContent)});
  15.         spans.forEach(span => {
  16.             var spanFounded = getParentUntil(spans[1], (node) => {
  17.                 return /^FeedUnit_/.test(node.getAttribute("data-pagelet" )) && node.getRootNode() === document;
  18.             });
  19.             spanFounded.parentNode.removeChild(spanFounded);
  20.         });
  21.     };
  22.     const getParentUntil = (node, func) => {
  23.         while(node && node.parentNode && !func(node)) {
  24.             node = node.parentNode;
  25.             //console.log("getParentUntil", node);
  26.         }
  27.         return node;
  28.     }
  29.     const $$ = (sel) => Array.from(document.querySelectorAll(sel));
  30.     setInterval(check, 500);
  31. })();


 
Alors je check toutes les 500ms c'est peut-être trop.


 
t'as aussi un bug, à moin que ça s'écrive sponsorosé...faut y aller molo sur le pamplemousse rosé, ça laisse des traces :o
 


---------------
Jubi Photos : Flickr - 500px
n°2396219
gatsu35
Blablaté par Harko
Posté le 21-09-2021 à 15:13:28  profilanswer
 

Nouvelle correction, en tapant sur les liens

 

Le truc moche c'est que le href des liens n'est pas déclaré, il est posé que lorsqu'on survole le lien.

 

Je n'imagine pas le temps passé pour éviter les contournements dégueulasses comme le mien pour cacher les pubs.

 
Code :


Message édité par gatsu35 le 21-09-2021 à 16:09:25

---------------
Blablaté par Harko
n°2396220
gatsu35
Blablaté par Harko
Posté le 21-09-2021 à 15:14:22  profilanswer
 

___alt a écrit :

Ah ouais, vla le bordel. Mais du coup pour faire le rendu ils modifient ça comment ?


oui un span est composé de pleins de span cachés ou position absolute, chaque span contient une lettre. D'où la regexp qui consomme pas trop du coup.
et un querySelector sur les A spécifiques et rulez.


---------------
Blablaté par Harko
n°2396221
___alt
Posté le 21-09-2021 à 15:17:54  profilanswer
 

Après on s'étonne d'avoir besoin d'un quad core pour consulter un site web putain [:prozac]


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2396222
gatsu35
Blablaté par Harko
Posté le 21-09-2021 à 15:22:32  profilanswer
 

___alt a écrit :

Après on s'étonne d'avoir besoin d'un quad core pour consulter un site web putain [:prozac]


Aller hop new version avec aussi les "suggestion pour vous" qui me saoule un max aussi.

 
Code :
 

Message cité 2 fois
Message édité par gatsu35 le 21-09-2021 à 16:09:17

---------------
Blablaté par Harko
n°2396223
masklinn
í dag viðrar vel til loftárása
Posté le 21-09-2021 à 15:26:16  profilanswer
 

gatsu35 a écrit :


Aller hop new version avec aussi les "suggestion pour vous" qui me saoule un max aussi.
 

Code :
  1. // ==UserScript==
  2. // @name         Facebook publicités
  3. // @namespace    http://tampermonkey.net/
  4. // @version      0.1
  5. // @description  try to take over the world!
  6. // @author       You
  7. // @match        https://www.facebook.com/
  8. // @icon         https://www.google.com/s2/favicons?domain=facebook.com
  9. // @grant        none
  10. // ==/UserScript==
  11. (function() {
  12.     'use strict';
  13.     const check = () => {
  14.         killNodes("a[aria-label='label']", a => /S.*p.*o.*n.*s.*o.*r.*i.*s.*é/.test(a.textContent), deleteFeedUnit);
  15.         killNodes("spab[dir='auto']", a => "Suggestion pour vous"=== a.textContent, deleteFeedUnit);
  16.     };
  17.     const killNodes = (selector, filterFunc, parentFoundFunc) => {
  18.         var links = $$(selector);
  19.         var nodes = links.filter(filterFunc);
  20.         nodes.forEach(parentFoundFunc);
  21.     };
  22.     const deleteFeedUnit = a => {
  23.             var nodeFound = getParentUntil(a, (node) => {
  24.                 return /^FeedUnit_/.test(node.getAttribute("data-pagelet" )) && node.getRootNode() === document;
  25.             });
  26.             nodeFound.parentNode.removeChild(nodeFound);
  27.         };
  28.     const getParentUntil = (node, func) => {
  29.         while(node && node.parentNode && !func(node)) {
  30.             node = node.parentNode;
  31.         }
  32.         return node;
  33.     }
  34.     const $$ = (sel) => Array.from(document.querySelectorAll(sel));
  35.     setInterval(check, 1000);
  36. //    setTimeout(check, 1000);
  37. })();



Sinon tu blackhole facebook.com  [:cosmoschtroumpf]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°2396224
Hermes le ​Messager
Breton Quiétiste
Posté le 21-09-2021 à 15:30:12  profilanswer
 

___alt a écrit :

Après on s'étonne d'avoir besoin d'un quad core pour consulter un site web putain [:prozac]


 
 [:rofl]


---------------
Expert en expertises
n°2396225
koskoz
They see me trollin they hatin
Posté le 21-09-2021 à 15:30:33  profilanswer
 

Putain les gens en open space qui font des confs calls sans casque [:natas]


---------------
Twitter
n°2396226
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 21-09-2021 à 15:43:36  profilanswer
 

gatsu35 a écrit :


Aller hop new version avec aussi les "suggestion pour vous" qui me saoule un max aussi.
 

Code :
  1. // ==UserScript==
  2. // @name         Facebook publicités
  3. // @namespace    http://tampermonkey.net/
  4. // @version      0.1
  5. // @description  try to take over the world!
  6. // @author       You
  7. // @match        https://www.facebook.com/
  8. // @icon         https://www.google.com/s2/favicons?domain=facebook.com
  9. // @grant        none
  10. // ==/UserScript==
  11. (function() {
  12.     'use strict';
  13.     const check = () => {
  14.         killNodes("a[aria-label='label']", a => /S.*p.*o.*n.*s.*o.*r.*i.*s.*é/.test(a.textContent), deleteFeedUnit);
  15.         killNodes("span[dir='auto']", a => "suggestion pour vous"=== a.textContent.toLowerCase(), deleteFeedUnit);
  16.     };
  17.     const killNodes = (selector, filterFunc, parentFoundFunc) => {
  18.         var links = $$(selector);
  19.         var nodes = links.filter(filterFunc);
  20.         nodes.forEach(parentFoundFunc);
  21.     };
  22.     const deleteFeedUnit = a => {
  23.             var nodeFound = getParentUntil(a, (node) => {
  24.                 return /^FeedUnit_/.test(node.getAttribute("data-pagelet" )) && node.getRootNode() === document;
  25.             });
  26.             nodeFound.parentNode.removeChild(nodeFound);
  27.         };
  28.     const getParentUntil = (node, func) => {
  29.         while(node && node.parentNode && !func(node)) {
  30.             node = node.parentNode;
  31.         }
  32.         return node;
  33.     }
  34. window.getParentUntil = getParentUntil;
  35.     window.killNodes = killNodes;
  36.     const $$ = (sel) => Array.from(document.querySelectorAll(sel));
  37.     setInterval(check, 1000);
  38.     setTimeout(check, 100);
  39. })();


 


Sinon, y'a un script qui se charge de virer toute la merde de Facebook et de permettre à un simple 486 de pouvoir y accéder sans trop de souci. Je l'utilise et c'est nickel en complément du bloqueur de pubs.

n°2396227
Hermes le ​Messager
Breton Quiétiste
Posté le 21-09-2021 à 15:51:14  profilanswer
 

koskoz a écrit :

Putain les gens en open space qui font des confs calls sans casque [:natas]


 
Fout la musique à fond ou balance des insanités à voix haute. :o


---------------
Expert en expertises
n°2396228
ratibus
Posté le 21-09-2021 à 15:51:58  profilanswer
 


Yep ça doit être celui-ci :jap:
 

masklinn a écrit :


Sinon tu blackhole facebook.com  [:cosmoschtroumpf]


This.


---------------
Mon blog
n°2396229
gatsu35
Blablaté par Harko
Posté le 21-09-2021 à 15:55:26  profilanswer
 

Harkonnen a écrit :


Sinon, y'a un script qui se charge de virer toute la merde de Facebook et de permettre à un simple 486 de pouvoir y accéder sans trop de souci. Je l'utilise et c'est nickel en complément du bloqueur de pubs.


 
sur le listener de scroll avec un throttle et hop :o
et enflure va :o

Code :
  1. // ==UserScript==
  2. // @name         Facebook publicités
  3. // @namespace    http://tampermonkey.net/
  4. // @version      0.1
  5. // @description  try to take over the world!
  6. // @author       You
  7. // @match        https://www.facebook.com/
  8. // @icon         https://www.google.com/s2/favicons?domain=facebook.com
  9. // @grant        none
  10. // ==/UserScript==
  11. (function() {
  12.     'use strict';
  13.     const check = () => {
  14.         console.log("check" );
  15.         killNodes("a[aria-label='label']", a => /S.*p.*o.*n.*s.*o.*r.*i.*s.*é/.test(a.textContent), deleteFeedUnit);
  16.         killNodes("span[dir='auto']", a => "suggestion pour vous"=== a.textContent.toLowerCase(), deleteFeedUnit);
  17.     };
  18.     const killNodes = (selector, filterFunc, parentFoundFunc) => {
  19.         var links = $$(selector);
  20.         var nodes = links.filter(filterFunc);
  21.         nodes.forEach(parentFoundFunc);
  22.     };
  23.     const deleteFeedUnit = a => {
  24.         var nodeFound = getParentUntil(a, (node) => {
  25.             return /^FeedUnit_/.test(node.getAttribute("data-pagelet" )) && node.getRootNode() === document;
  26.         });
  27.         nodeFound.parentNode.removeChild(nodeFound);
  28.     };
  29.     const getParentUntil = (node, func) => {
  30.         while(node && node.parentNode && !func(node)) {
  31.             node = node.parentNode;
  32.         }
  33.         return node;
  34.     }
  35.     const  throttle = (func, wait, leading, trailing, context) => {
  36.         var ctx, args, result;
  37.         var timeout = null;
  38.         var previous = 0;
  39.         var later = function() {
  40.             previous = new Date;
  41.             timeout = null;
  42.             result = func.apply(ctx, args);
  43.         };
  44.         return function() {
  45.             var now = new Date;
  46.             if (!previous && !leading) previous = now;
  47.             var remaining = wait - (now - previous);
  48.             ctx = context || this;
  49.             args = arguments;
  50.             if (remaining <= 0) {
  51.                 clearTimeout(timeout);
  52.                 timeout = null;
  53.                 previous = now;
  54.                 result = func.apply(ctx, args);
  55.             } else if (!timeout && trailing) {
  56.                 timeout = setTimeout(later, remaining);
  57.             }
  58.             return result;
  59.         };
  60.     };
  61.     const $$ = (sel) => Array.from(document.querySelectorAll(sel));
  62.     window.addEventListener("scroll", throttle(check, 500, false, true));
  63.     setTimeout(check, 100);
  64. })();

Message cité 1 fois
Message édité par gatsu35 le 21-09-2021 à 16:10:16

---------------
Blablaté par Harko
n°2396230
___alt
Posté le 21-09-2021 à 16:07:03  profilanswer
 

Faire de la gestion de versions avec HFR j'étais pas prêt.
On doit quoter pour les PR ?


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2396231
gatsu35
Blablaté par Harko
Posté le 21-09-2021 à 16:09:49  profilanswer
 

___alt a écrit :

Faire de la gestion de versions avec HFR j'étais pas prêt.
On doit quoter pour les PR ?


Oups :o


---------------
Blablaté par Harko
n°2396232
masklinn
í dag viðrar vel til loftárása
Posté le 21-09-2021 à 16:14:48  profilanswer
 

___alt a écrit :

Faire de la gestion de versions avec HFR j'étais pas prêt.
On doit quoter pour les PR ?


Le kernel fait bien ça via emails :o
 
Tu quotes pour la review oui :o


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°2396233
mechkurt
Posté le 21-09-2021 à 16:17:15  profilanswer
 

Fake : il est tjrs en V0.1 :o


---------------
D3
n°2396234
___alt
Posté le 21-09-2021 à 16:34:19  profilanswer
 

masklinn a écrit :

Tu quotes pour la review oui :o


 
OK JE COMMENCE TOUT DE SUITE [:romf]
 

gatsu35 a écrit :


 
sur le listener de scroll avec un throttle et hop :o
et enflure va :o

Code :
  1. // ==UserScript==
  2. // @name         Facebook publicités
  3. // @namespace    http://tampermonkey.net/
  4. // @version      0.1
  5. // @description  try to take over the world!
  6. // @author       You
  7. // @match        https://www.facebook.com/
  8. // @icon         https://www.google.com/s2/favicons?domain=facebook.com
  9. // @grant        none
  10. // ==/UserScript==
  11. (function() {
  12.     'use strict';
  13.     const check = () => {
  14.         console.log("check" );
  15.         killNodes("a[aria-label='label']", a => /S.*p.*o.*n.*s.*o.*r.*i.*s.*é/.test(a.textContent), deleteFeedUnit);
  16.         killNodes("span[dir='auto']", a => "suggestion pour vous"=== a.textContent.toLowerCase(), deleteFeedUnit);
  17.     };
  18.     const killNodes = (selector, filterFunc, parentFoundFunc) => {
  19.         var links = $$(selector);
  20.         var nodes = links.filter(filterFunc);
  21.         nodes.forEach(parentFoundFunc);
  22.     };
  23.     const deleteFeedUnit = a => {
  24.         var nodeFound = getParentUntil(a, (node) => {
  25.             return /^FeedUnit_/.test(node.getAttribute("data-pagelet" )) && node.getRootNode() === document;
  26.         });
  27.         nodeFound.parentNode.removeChild(nodeFound);
  28.     };
  29.     const getParentUntil = (node, func) => {
  30.         while(node && node.parentNode && !func(node)) {
  31.             node = node.parentNode;
  32.         }
  33.         return node;
  34.     }
  35.     const  throttle = (func, wait, leading, trailing, context) => {
  36.         var ctx, args, result;
  37.         var timeout = null;
  38.         var previous = 0;
  39.         var later = function() {
  40.             previous = new Date;
  41.             timeout = null;
  42.             result = func.apply(ctx, args);
  43.         };
  44.         return function() {
  45.             var now = new Date;
  46.             if (!previous && !leading) previous = now;
  47.             var remaining = wait - (now - previous);
  48.             ctx = context || this;
  49.             args = arguments;
  50.             if (remaining <= 0) {
  51.                 clearTimeout(timeout);
  52.                 timeout = null;
  53.                 previous = now;
  54.                 result = func.apply(ctx, args);
  55.             } else if (!timeout && trailing) {
  56.                 timeout = setTimeout(later, remaining);
  57.             }
  58.             return result;
  59.         };
  60.     };
  61.     const $$ = (sel) => Array.from(document.querySelectorAll(sel));
  62.     window.addEventListener("scroll", throttle(check, 500, false, true));
  63.     setTimeout(check, 100);
  64. })();



 
C'EST MAL INDENTÉ [:romf]


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2396235
masklinn
í dag viðrar vel til loftárása
Posté le 21-09-2021 à 16:49:37  profilanswer
 

___alt a écrit :

OK JE COMMENCE TOUT DE SUITE [:romf]


___alt a écrit :

C'EST MAL INDENTÉ [:romf]


Merci, on prendra ça en compte pour la v2 mais c'est hors scope pour le MVP [:romf]
 
D'ailleurs il y a des outils pour faire de la review de code (pas de changement)? genre les gens qui font des audits ils bossent comment, tout va dans un truc séparé avec des liens "manuels"?


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°2396236
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 21-09-2021 à 16:54:58  profilanswer
 

Code :
  1. nodeFound.parentNode.removeChild(nodeFound);


cette ligne fait bugger mon cerveau


---------------
J'ai un string dans l'array (Paris Hilton)
n°2396237
Blackyell
$question = $to_be || !$to_be;
Posté le 21-09-2021 à 16:59:45  profilanswer
 

J'ai essayé de faire mumuse pour virer les posts sponsorisés du coup... c'était un exercice plutôt sympa ^^
 
Du coup ça me donne un truc comme ça (j'ai juste testé dans la console) :
 

Code :
  1. const parseNode = (node) => {
  2.  if(!node.dataset.pagelet) { return; }
  3.  
  4.  const link = node.querySelector('a[aria-label="label"]');
  5.  
  6.  if(!link || link.innerText !== 'Sponsorisé') { return; }
  7.  
  8.  node.remove()
  9. }
  10.  
  11. const handleMutation = (mutation) => mutation.addedNodes.forEach(parseNode);
  12.  
  13. const handleMutationsList = (mutationsList) => mutationsList.forEach(handleMutation);
  14.  
  15. const observer = new MutationObserver(handleMutationsList);
  16.  
  17. observer.observe(document.querySelector('[role="feed"]'), { subtree: false, childList: true });

n°2396238
gatsu35
Blablaté par Harko
Posté le 21-09-2021 à 17:05:12  profilanswer
 

Blackyell a écrit :

J'ai essayé de faire mumuse pour virer les posts sponsorisés du coup... c'était un exercice plutôt sympa ^^

 

Du coup ça me donne un truc comme ça (j'ai juste testé dans la console) :

 
Code :
  1. const parseNode = (node) => {
  2.  if(!node.dataset.pagelet) { return; }
  3.  
  4.  const link = node.querySelector('a[aria-label="label"]');
  5.  
  6.  if(!link || link.innerText !== 'Sponsorisé') { return; }
  7.  
  8.  node.remove()
  9. }
  10.  
  11. const handleMutation = (mutation) => mutation.addedNodes.forEach(parseNode);
  12.  
  13. const handleMutationsList = (mutationsList) => mutationsList.forEach(handleMutation);
  14.  
  15. const observer = new MutationObserver(handleMutationsList);
  16.  
  17. observer.observe(document.querySelector('[role="feed"]'), { subtree: false, childList: true });


 


je vois pas comment tu peux avoir un lien avec le texte "sponsorisé" puisque chez moi il est dégueulasse.
et j'ai essayé ton truc mais ça ne marche pas :/
Mais très joli avec les MutationObserver, je suis un trop vieux de la vieille moi :/


Message édité par gatsu35 le 21-09-2021 à 17:09:38

---------------
Blablaté par Harko
n°2396239
Blackyell
$question = $to_be || !$to_be;
Posté le 21-09-2021 à 17:05:57  profilanswer
 

Tu utilises textContent, j'utilise innerText

n°2396240
gatsu35
Blablaté par Harko
Posté le 21-09-2021 à 17:12:00  profilanswer
 

Harkonnen a écrit :

Code :
  1. nodeFound.parentNode.removeChild(nodeFound);


cette ligne fait bugger mon cerveau


Ben en fait un noeud ne peut pas se supprimer tout seul dans le DOM mais un parent peut supprimer un noeud, du coup, le node passe par son parentNode pour se supprimer tout seul.


---------------
Blablaté par Harko
n°2396241
masklinn
í dag viðrar vel til loftárása
Posté le 21-09-2021 à 17:12:25  profilanswer
 

Harkonnen a écrit :

Code :
  1. nodeFound.parentNode.removeChild(nodeFound);


cette ligne fait bugger mon cerveau


Le DOM est une API absolutement dégueulasse :D
 
Mais sur tous les navigateurs modernes il y a Element#remove() [:romf]

gatsu35 a écrit :


Ben en fait un noeud ne peut pas se supprimer tout seul dans le DOM mais un parent peut supprimer un noeud, du coup, le node passe par son parentNode pour se supprimer tout seul.


u = outdated: https://developer.mozilla.org/en-US [...] ent/remove

Message cité 1 fois
Message édité par masklinn le 21-09-2021 à 17:12:59

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°2396242
gatsu35
Blablaté par Harko
Posté le 21-09-2021 à 17:12:28  profilanswer
 

Blackyell a écrit :

Tu utilises textContent, j'utilise innerText


même avec innerText j'ai ça : 'Spo\nu\nS\nn\ng\nn\ns\ns\no\nS\nr\ne\nr\nisé'

 

me = very outdate, heureusement que j'ai posé ma merde ici au moins j'ai vu qu'il va falloir que je me mette à la page :o

 

MERCI blackyell et maskuline

Message cité 2 fois
Message édité par gatsu35 le 21-09-2021 à 17:15:53

---------------
Blablaté par Harko
n°2396243
Blackyell
$question = $to_be || !$to_be;
Posté le 21-09-2021 à 17:15:26  profilanswer
 

gatsu35 a écrit :


même avec innerText j'ai ça : 'SpouSngnss\no\nS\nr\ne\nr\nisé'


 
Bizarre [:cerveau klem]  
 
Je viens de revérifier, j'ai bien "Sponsorisé".
 
Je suis sous Edge sous macOS, peut-être que ça varie suivant le navigateur.
 
Au pire y'a juste à changer la vérif par ta regex :o

n°2396244
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 21-09-2021 à 17:18:49  profilanswer
 

gatsu35 a écrit :


Ben en fait un noeud ne peut pas se supprimer tout seul dans le DOM mais un parent peut supprimer un noeud, du coup, le node passe par son parentNode pour se supprimer tout seul.


oui merci, j'avais bien compris, c'est juste que passer par le parent d'un node pour supprimer ledit node au lieu d'implémenter un Node.remove(), je trouve ça complètement con :o

masklinn a écrit :


Le DOM est une API absolutement dégueulasse :D
 
Mais sur tous les navigateurs modernes il y a Element#remove() [:romf]
 
u = outdated: https://developer.mozilla.org/en-US [...] ent/remove


 
[:romf]


---------------
J'ai un string dans l'array (Paris Hilton)
n°2396245
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 21-09-2021 à 17:20:00  profilanswer
 

gatsu35 a écrit :


MERCI blackyell et maskuline


si mon cerveau n'avait pas buggé, t'en serais encore à remonter tout le DOM pour virer un node, alors merci qui ? [:rapscallion:3]


---------------
J'ai un string dans l'array (Paris Hilton)
n°2396246
Jubijub
Parce que je le VD bien
Posté le 21-09-2021 à 17:22:49  profilanswer
 

par curiosité c'est quoi l'intéret de  
 

Code :
  1. const $$ = (sel) => Array.from(document.querySelectorAll(sel));


 
sachant que tu l'utilises qu'à un seul endroit ? (je rate surement un construct js quelconque)


---------------
Jubi Photos : Flickr - 500px
n°2396247
gatsu35
Blablaté par Harko
Posté le 21-09-2021 à 17:26:55  profilanswer
 

Jubijub a écrit :

par curiosité c'est quoi l'intéret de  
 

Code :
  1. const $$ = (sel) => Array.from(document.querySelectorAll(sel));


 
sachant que tu l'utilises qu'à un seul endroit ? (je rate surement un construct js quelconque)


je pensais l'utiliser ailleurs


---------------
Blablaté par Harko
n°2396248
gatsu35
Blablaté par Harko
Posté le 21-09-2021 à 17:27:36  profilanswer
 

Blackyell a écrit :


 
Bizarre [:cerveau klem]  
 
Je viens de revérifier, j'ai bien "Sponsorisé".
 
Je suis sous Edge sous macOS, peut-être que ça varie suivant le navigateur.
 
Au pire y'a juste à changer la vérif par ta regex :o


j'en sais rien mais pour ma part sous FF et sous chrome les quelques liens qui trainent recrachent ça pour leur textContent :  
 
 ['12 omcrtSptonobruseSrmac oeufc20rdSes2e0dt', '1itSmerpon hsorred', '4itSmerpon hsorred', '5itSmerpon hsorred', '2hmt0Spcuo nsohredS', '1h8mt scuteeprSurdtempbonsurcec, 2eodsSr0g:e0t6cd', 't1Spotinsofd rhed', 't1Spotinsofd rhed', 'h6 iettSlafpsoepontemibre,tm Sso17gmc:nm5are2da', 'hlHtitSepordnn, ofnmfà a1lsmo3olredm:10', 't3Spotinsofd rhed']
 
Et pour le innerText tu aurais le retour chariot.


---------------
Blablaté par Harko
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  24271  24272  24273  ..  25934  25935  25936  25937  25938  25939

Aller à :
Ajouter une réponse
 

Sujets relatifs
Plus de sujets relatifs à : [blabla@hosto] Le topic des vieux


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR