614 shaares
5 results
tagged
javascript
Quelques conseils issus de mon expérience personnelle avec GreaseMonkey…
J'en ai chié quelques fois, donc si ça peut en aider quelques un… Sait-on jamais ! :D
J'en ai chié quelques fois, donc si ça peut en aider quelques un… Sait-on jamais ! :D
Ouuh, de chouettes infos que nous avons là. :o
Hop je pause ça là pour plus tard
[22:00:13] Lunatick: En gros Kineticjs => control du canva en génial, fonction avancées, events de tout types (click, touch) géré nativement
[22:00:13] Lunatick: et Tweenmax ça permet d'animer n'importe quel valeur numérique sur le temps, un peu comme une transition CSS mais sur ce qu'on veut
[22:00:28] Lunatick: donc la Combinaison de Kineticjs + GSAP Tweenmax = des animation/jeu en js fluides et simple à écrire
[22:00:28] Lunatick: L'avantage de Tweenmax c'est aussi que n'importe quoi peut etre animé, exemple ça peut etre la largeur d'un élément du DOM, un nombre lambda ou les prop de n'importe quel objet
[22:03:41] Lunatick: avec en prime une la possibilité d'appeler une fonction en callback au début, à la fin, et à chaque mise a jour de l'item que tu "animes"
Hop je pause ça là pour plus tard
[22:00:13] Lunatick: En gros Kineticjs => control du canva en génial, fonction avancées, events de tout types (click, touch) géré nativement
[22:00:13] Lunatick: et Tweenmax ça permet d'animer n'importe quel valeur numérique sur le temps, un peu comme une transition CSS mais sur ce qu'on veut
[22:00:28] Lunatick: donc la Combinaison de Kineticjs + GSAP Tweenmax = des animation/jeu en js fluides et simple à écrire
[22:00:28] Lunatick: L'avantage de Tweenmax c'est aussi que n'importe quoi peut etre animé, exemple ça peut etre la largeur d'un élément du DOM, un nombre lambda ou les prop de n'importe quel objet
[22:03:41] Lunatick: avec en prime une la possibilité d'appeler une fonction en callback au début, à la fin, et à chaque mise a jour de l'item que tu "animes"
J'avais commencé par faire le tout avec GreaseMonkey mais j'ai eu des probs avec le setTimeout tué par GreaseMonkey.
Du coup, j'ai fais un code très rapide en PHP; Il est fonctionnel (c'était le but).
Mais pour MEGA, le téléchargement coince à la fin, sûrement un prob de compatibilité du au domaine différent (127.0.0.1 dans mon cas).
Du coup Oros m'a aidé à résoudre le problème GreaseMonkey - je n'ai toujours pas compris pourquoi son code fonctionne et pas le mien, … mais au moins son code fonctionne! :
window.setTimeout('function wait() {if(document.getElementsByClassName("new-download-red-button").length==0){setTimeout("wait()",1000);}else{document.getElementsByClassName("new-download-red-button")[0].click();}}wait();', 1000);
Source: https://www.ecirtam.net/links/?XoFKOQ
Ça pourrait sûrement très facilement être entièrement porté à GreaseMonkey du coup …
Pour finir, dans mon cas, pour que ça reste quand même "pratique" (car au moins avec greaseMonkey, aucun clic requis), j'ai, personnellement, tout plein de pages bourrées de ces liens, donc j'ai un quick snippet pour changer tous les liens de la page pour qu'ils passent tous via mon script, et lorsqu'un cas n'est pas géré, mon script redirige vers la page normal.
javascript:var%20links=document.getElementsByTagName('a');for(var%20i%20=%200;%20i%20<%20links.length;%20i++){void(links[i].href%20=%20'http://127.0.0.1/test.php?url='+links[i].href);}
Du coup, j'ai fais un code très rapide en PHP; Il est fonctionnel (c'était le but).
Mais pour MEGA, le téléchargement coince à la fin, sûrement un prob de compatibilité du au domaine différent (127.0.0.1 dans mon cas).
Du coup Oros m'a aidé à résoudre le problème GreaseMonkey - je n'ai toujours pas compris pourquoi son code fonctionne et pas le mien, … mais au moins son code fonctionne! :
window.setTimeout('function wait() {if(document.getElementsByClassName("new-download-red-button").length==0){setTimeout("wait()",1000);}else{document.getElementsByClassName("new-download-red-button")[0].click();}}wait();', 1000);
Source: https://www.ecirtam.net/links/?XoFKOQ
Ça pourrait sûrement très facilement être entièrement porté à GreaseMonkey du coup …
Pour finir, dans mon cas, pour que ça reste quand même "pratique" (car au moins avec greaseMonkey, aucun clic requis), j'ai, personnellement, tout plein de pages bourrées de ces liens, donc j'ai un quick snippet pour changer tous les liens de la page pour qu'ils passent tous via mon script, et lorsqu'un cas n'est pas géré, mon script redirige vers la page normal.
javascript:var%20links=document.getElementsByTagName('a');for(var%20i%20=%200;%20i%20<%20links.length;%20i++){void(links[i].href%20=%20'http://127.0.0.1/test.php?url='+links[i].href);}
À la question de youpla sur la possibilité d'implémenter une validation par JavaScript pour les pastes de type "Burn After Reading":
" Salut, ce “problème” comme tu l'appelles est normal.
Il serait possible d'implémenter une confirmation par JavaScript mais ça serait fortement déconseillé. En effet, quelqu'un (un bot par exemple) pourrait très bien récupérer le message chiffré et tenter de le déchiffrer lui-même plus tard sans que personne ne remarque que cela a été fait : C'est contre le principe du “Burn after reading”, si quelqu'un l'a ouvert avant toi, tu dois le savoir !
Ceci dit, en y réfléchissant on pourrait implémenter un hack / une solution, qui consisterait à ne pas se rendre directement sur la page permettant de récupérer le message mais sur une page intermédiaire qui, elle, ferait une redirection JavaScript vers la bonne page. Cela permettrait que, si on a JavaScript désactivé (car on utilise NoScript par exemple) cela nous prévienne sans pour autant que cela invalide le paste.
On conserverait ainsi le but premier de “Burn after reading”, si quelqu'un se rend bel et bien sur la page du paste, c'est sûrement grâce au JavaScript (donc on ne risque plus de l'invalider accidentellement) mais si un bot s'y rend manuellement (sur la page donnant le paste, pas l'intermédiaire, celle là on s'en fout que le bot y passe limite), tu le saura.
(De plus, je trouve que de manière générale, à part le fait que ça rajoute une étape (lourde ?) ça permettrait de pouvoir partager des liens ZeroBin même sur les services connu pour aller zieuter la page automatiquement (comme Facebook ou un mauvais service qui s'amuserait à vérifier tout vos liens automatiquement)(sauf si évidemment, ils exécutent le JavaScript et vont voir où il ne devrait pas; c'est rarement le cas donc)) "
" Salut, ce “problème” comme tu l'appelles est normal.
Il serait possible d'implémenter une confirmation par JavaScript mais ça serait fortement déconseillé. En effet, quelqu'un (un bot par exemple) pourrait très bien récupérer le message chiffré et tenter de le déchiffrer lui-même plus tard sans que personne ne remarque que cela a été fait : C'est contre le principe du “Burn after reading”, si quelqu'un l'a ouvert avant toi, tu dois le savoir !
Ceci dit, en y réfléchissant on pourrait implémenter un hack / une solution, qui consisterait à ne pas se rendre directement sur la page permettant de récupérer le message mais sur une page intermédiaire qui, elle, ferait une redirection JavaScript vers la bonne page. Cela permettrait que, si on a JavaScript désactivé (car on utilise NoScript par exemple) cela nous prévienne sans pour autant que cela invalide le paste.
On conserverait ainsi le but premier de “Burn after reading”, si quelqu'un se rend bel et bien sur la page du paste, c'est sûrement grâce au JavaScript (donc on ne risque plus de l'invalider accidentellement) mais si un bot s'y rend manuellement (sur la page donnant le paste, pas l'intermédiaire, celle là on s'en fout que le bot y passe limite), tu le saura.
(De plus, je trouve que de manière générale, à part le fait que ça rajoute une étape (lourde ?) ça permettrait de pouvoir partager des liens ZeroBin même sur les services connu pour aller zieuter la page automatiquement (comme Facebook ou un mauvais service qui s'amuserait à vérifier tout vos liens automatiquement)(sauf si évidemment, ils exécutent le JavaScript et vont voir où il ne devrait pas; c'est rarement le cas donc)) "
Légère modification du snippet pour qu'il demande dynamiquement en quelle config clavier on veut l'activer :
javascript:s=document.createElement('script');s.id='r6109_vkbsgp';s.type='text/javascript';s.src='http://lehollandaisvolant.net/tout/dl/virtual-kb/keyboard.js?'+prompt('Lang?')+',true';document.head.appendChild(s);void(null);
Pour rappel, la liste des dispositions claviers disponibles : albanian, arabic, armenian-e, armenian-w, assamese, azebaijani-cyr, azebaijani-lat, belarusian, bengali, bosnian, bulgarian-ph, burmese, canadian-fr, chinese-bapomofo-ime, chinese-cangjie-ime, czech, danish, dari, devanagari, dingbats, divehi, dutch, dvorak, esperanto, estonian, farsi, faeroese, finnish, french, georgian, german, greek, gujurati, hebrew, hindi, hungarian, icelandic, irish-gaelic, italian, japanese-kana, kazakh, kannada, khmer, korean, kurdish, kyrgyz, latvian, lithuanian, macedonian-cyr, malayalam, maltese48, marathi, misc-symbols, mongolian-cyr, norwegian, pashto, pinyin, polish, polish-prog, portuguese-br, portuguese, punjabi, romanian, russian, serbian, slovak, spanish, swedish, swiss-fr, swiss-de, syriac, tamil, tatar, telugu, thai-kedmanee, thai-pattachote, turkish-f, turkish-q, ukrainian, uk, urdu, urdu-phonetic, us-int, us-std, uzbek-cyr, vietnamese, yiddish
Ça peut être plus pratique que d'en avoir plusieurs si jamais vous switcher régulièrement entre plusieurs dispositions (mais que vous n'êtes pas à domicile et/ou vous n'avez pas accès à la "barre des langues") mais que vous voulez quand même économiser de la place et/ou si vous voulez par exemple vous faire une liste "tel disposition puis une autre puis 'dynamique'".
NOTE à moi même: faudrait que j'héberge un ptit miroir du code :) (je suppose que c'est ok :o)
PS: J'ignorais qu'il existait une disposition de clavier japonaise :o c'est cool !
Perso sous windows, jusqu'à présent, pour écrire les divers kana tel que « ne » (ね) ou « no » (の) par exemple, je devais taper ces n + e (et n + o respectivement) sur un clavier qwerty par défaut.
javascript:s=document.createElement('script');s.id='r6109_vkbsgp';s.type='text/javascript';s.src='http://lehollandaisvolant.net/tout/dl/virtual-kb/keyboard.js?'+prompt('Lang?')+',true';document.head.appendChild(s);void(null);
Pour rappel, la liste des dispositions claviers disponibles : albanian, arabic, armenian-e, armenian-w, assamese, azebaijani-cyr, azebaijani-lat, belarusian, bengali, bosnian, bulgarian-ph, burmese, canadian-fr, chinese-bapomofo-ime, chinese-cangjie-ime, czech, danish, dari, devanagari, dingbats, divehi, dutch, dvorak, esperanto, estonian, farsi, faeroese, finnish, french, georgian, german, greek, gujurati, hebrew, hindi, hungarian, icelandic, irish-gaelic, italian, japanese-kana, kazakh, kannada, khmer, korean, kurdish, kyrgyz, latvian, lithuanian, macedonian-cyr, malayalam, maltese48, marathi, misc-symbols, mongolian-cyr, norwegian, pashto, pinyin, polish, polish-prog, portuguese-br, portuguese, punjabi, romanian, russian, serbian, slovak, spanish, swedish, swiss-fr, swiss-de, syriac, tamil, tatar, telugu, thai-kedmanee, thai-pattachote, turkish-f, turkish-q, ukrainian, uk, urdu, urdu-phonetic, us-int, us-std, uzbek-cyr, vietnamese, yiddish
Ça peut être plus pratique que d'en avoir plusieurs si jamais vous switcher régulièrement entre plusieurs dispositions (mais que vous n'êtes pas à domicile et/ou vous n'avez pas accès à la "barre des langues") mais que vous voulez quand même économiser de la place et/ou si vous voulez par exemple vous faire une liste "tel disposition puis une autre puis 'dynamique'".
NOTE à moi même: faudrait que j'héberge un ptit miroir du code :) (je suppose que c'est ok :o)
PS: J'ignorais qu'il existait une disposition de clavier japonaise :o c'est cool !
Perso sous windows, jusqu'à présent, pour écrire les divers kana tel que « ne » (ね) ou « no » (の) par exemple, je devais taper ces n + e (et n + o respectivement) sur un clavier qwerty par défaut.