使StackOverflow爆炸(书签)[关闭]


28

有时,人们对StackExchange网络感到沮丧(尤其是SO)。

stackoverflow徽标已修改

您的任务是创建一个书签,使StackOverflow以某种方式爆炸/爆炸/破坏。这将提供更好的分散挫败感的方法。

规则:

  • 它必须是小书签的形式
  • 必须在Chrome和Firefox中运行(最新稳定版本)
  • jQuery在该站点上,因此您可以使用它
  • 没有创建拉爆炸explistitThisPage.js或类似的脚本标签

评分是需要复制和粘贴的字符数,除了:

  • -1,如果您包含说明
  • 每次投票-5
  • -10(如果您不使用jQuery)
  • -10如果发出爆炸声
  • + 9e72如果确实对站点造成伤害(F5应该修复损坏)

如果gif令人分心,请将其删除。


7
IMO规范不够清晰,无法客观确定提交是否符合要求。
彼得·泰勒

在评论中,因为它不是我的: 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);
SeanC

1
我的评论不是关于评分系统,而是关于任务说明。
彼得·泰勒

4
真?如果它确实设法对站点造成了伤害,然后在用户重新加载页面时对其进行修复,则该分数应为 9*10**72。那将是一个壮举。
Blacklight Shining

2
@FakeRainBrigand IMO,对站点造成真正的伤害,在重新加载后以某种方式修复,这远比仅仅对站点造成伤害要深刻得多。
Blacklight Shining

Answers:


27

鸡!

得分:46-1(解释)-5 * 17(投票)= -40

javascript:$('*:not(:has(*))').text('chicken')

它只是简单地接受没有子元素的每个元素,并将其替换为文本'chicken'

截图示例:
更多的鸡肉
这个问题

图片


很棒的主意:-)看到“回答鸡”或页面标题之类的东西也很有趣,它们带有非鸡词...为什么?
Brigand

@FakeRainBrigand嗯?对我来说,页面标题变成了“鸡”……
Doorknob

更长但更彻底的版本,部分基于我的javascript:void($(':not(iframe,script,style)').contents().each(function(){if(this.nodeType==3)this.nodeValue=this.nodeValue.replace(/\w+/g,'chicken')}))
发言

@Doorknob,恭喜,您的总分是15,这是最低的(抱歉,我花了这么长时间才接受它)。但是,如果我能再做一次,我将以-15的票数进行投票。
Brigand 2014年

1
应该是HODOR!
SztupY 2014年

27

这是我的条目,我称其为醉酒者

javascript:void(setInterval(function(){c='1234567890poiuytrewqasdfghjklmnbvcxzZXCVBNMLKJHGFDSAQWERTYUIOP=)(/&%25$%23"!1';$(':not(iframe,script,style)').contents().each(function(){if(this.nodeType==3&&/\S/.test(this.nodeValue)){a=this.nodeValue.split('');x=0;for(i=0;i<a.length;i++){r=Math.random()*9999;if(r<10){x=1;j=c.indexOf(a[i]);a[i]=(r<4%3F(t=a[i-1],a[i-1]=a[i],t):r<5%3F'':r<6%3Fa[i]+a[i]:j<0%3Fa[i]:c.charAt(j+(r<8%3F1:-1)))}}if(x)this.nodeValue=a.join('')}})},100))

以474个字符为单位,它可能不会赢得任何高尔夫奖,但我希望通过投票来弥补。:)

这是去混淆的相同代码:

setInterval(function () {
  var c = '1234567890poiuytrewqasdfghjklmnbvcxzZXCVBNMLKJHGFDSAQWERTYUIOP=)(/&%$#"!1';
  $(':not(iframe,script,style)').contents().each(function () {
    if (this.nodeType==3 && /\S/.test(this.nodeValue)) {
      var a = this.nodeValue.split('');
      var x = 0;
      for (i = 0; i < a.length; i++) {
        r = Math.random() * 9999;
        if (r < 10) {
          x = 1;
          j = c.indexOf(a[i]);
          a[i] = ( r < 4 ? (t = a[i-1], a[i-1] = a[i], t)
                 : r < 5 ? ''
                 : r < 6 ? a[i] + a[i]
                 : j < 0 ? a[i] : c.charAt(j + (r < 8 ? 1 : -1)) ); 
        }
      }
      if (x) this.nodeValue = a.join('');
    }
  });
}, 100);

它的作用是随机改变页面上的文本,交换相邻的字符,删除或复制字符,或者用键盘上与之相邻的字符替换它们。起初效果有点微妙,但要让它运行一会儿,页面内容将不可避免地变成一堆烂醉的打字:

回家吧,你喝醉了!

附言 该代码绝不是SO特定的,因此可以在使用jQuery的任何网站上使用。尝试在Wikipedia上获得有趣的结果。这个想法是基于我几年前写的,对“ 99瓶啤酒”挑战的创造性解释:我的版本在每节经文中引入了越来越多的错别字,直到最后一遍都几乎无法辨认。如果有人想看到它,这是原始的Perl代码


6
Dyslexinator(sorru,我正在打字时正在打字)
更加

16

我不知道为什么这被否决了,我喜欢它:)

这不是最短的,但我认为它很漂亮:

133个字符 -1

javascript:(function(){setInterval(function(){$("div, span").eq(Math.round(Math.random()*$("div, span").length)).hide(500)},90)}());

取消高尔夫:

javascript:(function(){  
         window.setInterval(function() {
                 i = Math.round(Math.random() * $("div, span").length);
                 $("div, span").eq(i).hide("slow");
         } , 90);
}());

说明:我希望这很重要,此脚本会爆炸该网站而不是爆炸它;)这只是每90毫秒随机选择一个div或span并缓慢关闭它。


+1,但random()对于完全受控的销毁效率不高,无论如何,我都喜欢:)
Daniele Brugnara 2013年

只需将其放入URL窗口,什么都没有发生?
WallyWest

抱歉,沃利,看不到您的评论。您需要将其另存为书签。
Fels

12

因为未定义更高分数还是更低分数...

javascript:$(".vote-down-off").click()

基数:38
Bonis:

  • + 9e72永久伤害。

最终得分:9000000000000000000000000000000000000000000000000000000000000000000000000000038

顺便说一句,我没有尝试。


1
哈哈顺便说一句,如果您问JavaScript:9e72+38 === 9e72:-)
Brigand

3
谁问JavaScript?使用jQuery
2013年


4
错误...我应该投赞成票还是反对票...?
Kim的朋友,2014年

1
哦,我明白了...如果您使用它,它会单击“ vote-down-off”类的按钮。它带有代码挑战标记,这意味着最低分获胜。
Nzall 2014年

8

我的目的是245个字符。

通常不是较短的,但我喜欢它;-)

javascript:document.body.innerHTML+='<img%20id="bigMsk"%20src="http://i.stack.imgur.com/VWPZg.gif">';document.getElementById('bigMsk').setAttribute('style','z-index:1;opacity:.6;display:block;position:fixed;top:0;left:0;width:100%;height:100%;');

-1:说明:

  • 我使用问题中提供的精美gif动画图片,
  • 在CSS的帮助下,我将它们放在整页上,不透明度为60%。

document.body.innerHTML+=
   '<img%20id="bigMsk"%20src="http://i.stack.imgur.com/VWPZg.gif">';
document.getElementById('bigMsk').setAttribute('style',
    'z-index:1;
     opacity:.6;
     display:block;
     position:fixed;
     top:0;
     left:0;
     width:100%;
     height:100%;
');

多数情况下可读;-)

-10没有JQuery

选择:

还有一种选择:

javascript:document.body.innerHTML+='<img%20id="bigMsk"%20src="http://i.stack.imgur.com/aTtWM.gif">';document.getElementById('bigMsk').setAttribute('style','z-index:1;opacity:.6;display:block;position:fixed;top:0;left:0;width:100%;height:100%;');

基于未经修改的GIF,可在Wikimedia Commons中找到:nevit.gif的File:Animated fire

图片: 图片来自维基百科

样品:

在此处输入图片说明


棒极了!
Brigand

5

好的,我认为这应该符合以下条件:

javascript:document.write("<h1>Exploded</h1>")

将当前页面替换为“爆炸”

得分:46
-1解释
-10没有jQuery

35


5

这是令人愉快的,并且也造成相当大的滞后:D

javascript:setInterval(function(){document.body.innerHTML=document.body.innerHTML.replace(/\d+/g,function(){return Math.random()*100|0});},500)

它只是设置一个间隔,用一个从0到100的随机数替换所有数字字符串。每秒两次。如您所料,它会产生许多错误,而且我可以修复此错误,以在更改图像URL时停止所有404,但我认为这种方式更有趣,而且它是代码高尔夫。:D

得分:

  • 132基地
  • -1说明
  • -5赞
  • -10没有jQuery

总分116


在Firefox中不起作用。
约翰内斯·库恩

@JohannesKuhn在FF中做什么?它适用于Chrome
Doorknob

显示带有数字的空白页。
Johannes Kuhn

@JohannesKuhn我想我已经解决了;不function x(){document.body.innerHTML=document.body.innerHTML.replace(/\d+/g,function(){return Math.random()*100|0})}setInterval(x,500)适合你现在的工作?
门把手

是的,但是最后一个;可以做到。
Johannes Kuhn

4

165个字符(164点)

-1进行解释

这是我的尝试。它不是特别短,但是很有趣。

javascript:r=Math.random;$("a,span,p").each(function(){var a=$(this);a.css({position:"relative"});a.delay(1E4*r()).animate({left:9E3*r()-4E3,top:9E3*r()-4E3},555)});

它将单个元素沿随机方向滑出页面。由于语法突出显示,我特别包括了跨度(每种颜色都有单独的跨度)。

r = Math.random;
$('a,span,p').each(function () {
    var t = $(this);
    t.css({
        position: 'relative'
    });

    t.delay(r()*10000).animate({
        left: r() * 9e3 - 4e3,
        top: r() * 9e3 - 4e3
    }, 555);
});

当然,可以通过删除一些标签来缩短它,但是请让我知道是否有任何方法可以缩短它而不降低性能。


4

181151个字符-1(解释)-10(没有jQuery)= 140点

javascript:i=setInterval(function(){for(var a=document;0!==a.childNodes.length;)a=a.childNodes[a.childNodes.length-1];a!==document?a.parentNode.removeChild(a):clearInterval(i)},50);

通过省略function(){和使用字符串可以节省更多的字符。还要注意提取常用属性,例如,c='childNodes允许我们z[c]代替z.childNodes

javascript:h=setInterval('d=z=document;c="childNodes";for(l="length";z[c][l];z=z[c][z[c][l]-1]);z!=d?z.parentNode.removeChild(z):clearInterval(h)',50);

我想我可以通过使用jQuery而不是遍历属性来减少点数,但是很好。

取消高尔夫:

var intervalHandle = setInterval(function() {
    var lastElement = document;
    //get last element
    while (lastElement.childNodes.length !== 0) {
        lastElement = lastElement.childNodes[lastElement.childNodes.length - 1];
    }

    if(lastElement !== document) {
        lastElement.parentNode.removeChild(lastElement);
    } else {
        clearInterval(intervalHandle);
    }
}, 50);

基本上,这会找到页面上的最新DOM元素并将其删除。然后,每隔50毫秒就执行一次此操作,我发现这是一种平均不错的速度,可以看到页面从头开始被撕裂。这是治疗性的,我发誓。

免责声明:我在一段时间前做了此决定并决定共享,因为在这里似乎很合适。来源在我的GitHub存储库中


这很棒!我对其进行了编辑,以包含保存更多字符的更高尔夫球版本。我希望你不要介意。在功能上是相同的。
Brigand

@FakeRainBrigand一点也不,谢谢!实际上,您帮助我学习了一些新的绝妙技巧,这是我编写此书的初衷。再次感谢!
Alpha

3

JavaScript 281

javascript:$('body').html().split('<code>javascript:').forEach(function (a) {if (a.indexOf("location")*a.indexOf("write")*a.indexOf("noscript")==-1) try{exec(a.split("</code>")[0].replace(/&#(\d+)/g, function(match, dec) {return String.fromCharCode(dec);}))} catch (e) {}});void 0;

它以<code>javascript:(stuff)</code>不改变位置的形式获得对问题的所有答复,并运行所有答复。


嗯...我看到很多空白似乎是可移动的。也许您应该删除它。
John Dvorak 2013年

3
我非常确定这将使规则失败:“不创建拉动ExplorerThisPage.js或类似内容的脚本标签”。此外,它不适用于每个SO页面,仅适用于此页面。另外,它在询问XSS的问题上确实造成了损害,因此您应该在分数上加上9e72。
John Dvorak 2013年

2

我喜欢这种效果。基本上,它每1毫秒为网站上的每个div切换一次滑动效果。

javascript:setInterval(function(){$('div').toggle()},1)

得分

56
-1 Explanation
--------------
55 Total

不错,但是toogle也可以使用: javascript:setInterval(function(){$('div').toggle(88)},1)
Fels
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.