您的网站是否有Konami代码?

konami-contra-cover

为了辩护,我刚从为期两周的假期(大部分时间都是离线)返回海外。 因此,当我的伴侣Royce直接发推文给我时,我不知道他是什么意思:

为什么您的网站上没有konami代码?

现在,在这一点上,我有机会快速使用Google来维护我对所有最新模因都熟悉的脆弱的魅力。 但是,没有,我因突然出现的诚实而受苦,我发出了不那么出色的答复:

什么是Konami代码?

我应该使用Google; 我的怪胎信誉破灭。 如果有任何读者尚未听说过Konami密码,那么此问题将使您摆脱同样的命运。

我喜欢网站上的复活节彩蛋; 由于完全毫无意义的原因,我花时间和精力来编写代码有一种反常的吸引力。 “ Konami密码”可以追溯到老式的主机游戏作弊密码; 组合键是向上,向上,向下,向下,向左,向右,向左,向右,B,A。如果您想了解更多信息,可以在Youtube上观看一段视频,其中介绍了所有内容 。 输入代码时触发了许多实施了复活节彩蛋的网站。 ESPN网站在愚人节那天做到了,jQuery网站已经有很多年了,包括Google Reader甚至Facebook 。 访问Konami代码站点以找到站点列表。

我浏览了几种实现此类复活节彩蛋的基于JavaScript的解决方案,并发现了Paul Irish编写的一个非常漂亮的jQuery示例,其中展示了一些JavaScript-fu。 该脚本使用事件侦听器拦截keydown事件并全部进入关键的跟踪。 如果按下的组合键包含Konami代码,则会触发复活节彩蛋:

var kkeys = [], konami = "38,38,40,40,37,39,37,39,66,65";
$(document).keydown(function(e) {
  kkeys.push( e.keyCode );
  if ( kkeys.toString().indexOf( konami ) >= 0 ){
    $(document).unbind('keydown',arguments.callee);
    // Launch easter egg here          
  }
});

该脚本首先声明几个变量。 kkeys ,用于存储用户按键的空数组; 和konami ,一个字符串,代表正确的密钥组合的密钥代码。

事件侦听器附加到document对象以侦听keydown事件。 加载页面时,每按一次键, keycode就会添加到kkey数组中。 然后,脚本检查以查看是否已输入Konami代码。 如果已包含,则将删除事件侦听器,并显示复活节彩蛋。

注意使用arguments.callee吗? (我在Tech Times第215期中写了奇怪但有用的arguments对象。) callee属性引用当前函数,因此使用arguments.callee是事件侦听器函数删除自身的好方法。 在此示例中,它还使事件侦听器功能保持匿名。

Paul Irish网站上的复活节彩蛋使用Cornify的服务,这是一种非常有用的独角兽和Rainbow网络服务

$.getScript('http://www.cornify.com/js/cornify.js', function(){
  cornify_add();
  $(document).keydown(cornify_add);
});

我发现了其他一些值得注意的例子。 Matt Snider有一个使用YUI的脚本在其中创建了一个自定义事件,另外两个是简单的旧JavaScript示例。 第一个是konami-js ,如果两次按键之间的延迟时间较长,它将使用超时来重置Konami代码检测例程。 第二个是James Padolsey的onKonamiCode事件处理程序

那你还在等什么? 你有代码; 立即将Konami代码添加到您的网站。

From: https://www.sitepoint.com/does-your-site-have-the-konami-code/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值