Parfois, les gens sont frustrés sur le réseau StackExchange (en particulier SO).
Votre tâche consiste à créer un bookmarklet qui fait exploser / imploser / détruire StackOverflow d'une manière ou d'une autre. Cela fournira une meilleure façon de disperser nos frustrations.
Les règles:
- il doit prendre la forme d'un bookmarklet
- doit fonctionner dans Chrome et Firefox (dernière version stable)
- jQuery est sur le site, vous pouvez donc l'utiliser
- pas de création d'une balise de script qui tire explosionThisPage.js ou similaire
La notation est le nombre de caractères qui doivent être copiés et collés, sauf:
- -1 si vous incluez une explication
- -5 pour chaque vote positif
- -10 si vous n'utilisez pas jQuery
- -10 s'il fait un bruit d'explosion
- + 9e72 s'il endommage réellement le site (F5 devrait réparer les dégâts)
Si le gif vous distrait, supprimez-le.
code-challenge
javascript
Brigand
la source
la source
javascript: varwww_WHAK_com = 'http://www.is-a-jerk.com/flash/url.asp?flash=10&insult=off&destroy=' + encodeURIComponent(top.location.href.replace('http://', '').replace('https://', '')); top.location.href = www_WHAK_com; void(0);
9*10**72
s'il parvient à endommager le site, puis à le réparer lorsque l'utilisateur recharge la page. Ce serait tout un exploit.Réponses:
Poulet!
Score: 46-1 (explication) - 5 * 17 (votes) = -40
Il prend simplement chaque élément sans enfant et le remplace par le texte
'chicken'
.Exemples de captures d'écran:
plus de poulet
cette question pouletifiée
la source
javascript:void($(':not(iframe,script,style)').contents().each(function(){if(this.nodeType==3)this.nodeValue=this.nodeValue.replace(/\w+/g,'chicken')}))
Voici mon entrée, que j'appellerai l'ivrogne :
À 474 caractères, cela ne gagnera probablement pas de prix de golf, mais j'espère compenser cela dans les votes positifs. :)
Voici le même code désobscurci:
Ce qu'il fait, c'est muter aléatoirement le texte sur la page, permuter des caractères adjacents, supprimer ou dupliquer des caractères ou les remplacer par ceux qui leur sont adjacents sur le clavier. L'effet est plutôt subtil au début, mais laissez-le fonctionner pendant un certain temps, et le contenu de la page se détériorera inévitablement en un désordre de frappe ivre:
Ps. Le code n'est en aucun cas spécifique à SO, il fonctionnera donc sur n'importe quel site Web qui utilise jQuery. Essayez-le sur Wikipedia pour des résultats hilarants. L'idée est basée sur quelque chose que j'ai écrit il y a des années comme une interprétation créative du défi "99 bouteilles de bière": ma version a introduit un nombre croissant de fautes de frappe dans chaque verset, jusqu'à ce que les derniers soient presque méconnaissables. Si quelqu'un veut le voir, voici le code Perl d'origine .
la source
Je ne sais pas pourquoi cela a été rejeté, j'aime ça :)
Ce n'est pas le plus court, mais je pense que c'est joli:
133 caractères -1
Non golfé:
Explication: J'espère que cela compte, ce script implose le site au lieu de l'exploser;) Cela choisit simplement un div aléatoire ou une durée toutes les 90 ms et le ferme lentement ..
la source
Parce qu'il n'a pas été défini si le score supérieur ou inférieur l'emporte ...
Base: 38
Bonis:
Score final: 9000000000000000000000000000000000000000000000000000000000000000000000038
Btw, je ne l'ai pas essayé.
la source
9e72+38 === 9e72
:-)Mon objectif 245 caractères.
Surtout pas le plus court, mais j'aime ça ;-)
-1: Explication:
:
Principalement lisible par lui-même ;-)
-10 Pas de JQuery
Alternative:
Il existe une alternative:
Basé sur un GIF non modifié, trouvé sur Wikimedia Commons: Fichier: Feu animé par nevit.gif
Image:
Échantillon:
la source
Ok, je pense que cela devrait répondre aux critères:
Remplace la page actuelle par "Exploded"
Score: 46
-1 Explication
-10 Pas de requête j
35
la source
Celui-ci est agréable et provoque également un certain décalage: D
Il définit simplement un intervalle qui remplace toutes les chaînes de chiffres par un nombre aléatoire de 0 à 100. Deux fois par seconde. Cela crée un tas d'erreurs, comme vous pouvez vous y attendre, et je pourrais le corriger pour arrêter tous les 404 lorsque les URL des images sont modifiées, mais je pense que c'est plus amusant de cette façon et c'est du golf de code. :RÉ
But:
Note totale: 116
la source
function x(){document.body.innerHTML=document.body.innerHTML.replace(/\d+/g,function(){return Math.random()*100|0})}setInterval(x,500)
fonctionne pour vous maintenant?;
à la fin ferait de même.165 caractères (164 points)
-1 pour explication
Voici ma tentative. Ce n'est pas particulièrement court, mais c'est amusant.
Il fait glisser des éléments individuels hors de la page dans des directions aléatoires. J'ai inclus spécifiquement span en raison de la coloration syntaxique (chaque couleur a une étendue distincte).
Bien sûr, il pourrait être raccourci en supprimant certaines des balises, mais faites-moi savoir s'il existe des moyens de le raccourcir sans réduire les performances.
la source
181151 caractères - 1 (explication) - 10 (pas de jQuery) = 140 pointsQuelques caractères supplémentaires peuvent être enregistrés en omettant le
function(){
et en utilisant une chaîne à la place. Notez également que l'extraction des propriétés couramment utilisées, par exemple,c='childNodes
nous permet de faire à laz[c]
place dez.childNodes
.Je suppose que je pourrais faire moins de points en utilisant jQuery et en ne traversant pas les propriétés, mais bon.
Non golfé:
Fondamentalement, cela trouve le dernier élément DOM sur la page et le supprime. Ensuite, continue de le faire toutes les 50 millisecondes, ce qui, selon moi, est une vitesse moyenne agréable pour voir une page se déchirer de fond en comble. C'est thérapeutique, je le jure.
Avertissement: je l'avais fait il y a quelque temps et j'ai décidé de le partager, car cela semble approprié ici. La source se trouve dans mon référentiel GitHub .
la source
Javascript, 281
Il obtient chaque réponse à la question sous la forme
<code>javascript:(stuff)</code>
qui ne change pas l'emplacement et les exécute toutes.la source
J'aime cet effet. Il bascule essentiellement un effet de diapositive pour chaque div sur le site toutes les 1 millisecondes.
But
la source
javascript:setInterval(function(){$('div').toggle(88)},1)