到目前为止,我已经提出了这个代码......如果没有输入框或点击输入/点击内容,有更好的方法吗?我打算这是一个复活节彩蛋,但它非常大,看起来有点令人沮丧。
<!-- 7H3 F0110W1N6 R3D1R3C7S 7H3 P463 WH3N 7H3 C0RR3C7 C0D3 1S 3N73R3D -->
<!-- THE FOLLOWING REDIRECTS THE PACE WHEN THE CORRECT CODE IS ENTERED -->
<!-- THE CODE IS: UP UP DOWN DOWN LEFT RIGHT LEFT RIGHT B A S -->
<script>
document.addEventListener('keydown', function(event) {
if(event.keyCode == 38) {
document.addEventListener('keydown', function(event) {
if(event.keyCode == 38) {
document.addEventListener('keydown', function(event) {
if(event.keyCode == 40) {
document.addEventListener('keydown', function(event) {
if(event.keyCode == 40) {
document.addEventListener('keydown', function(event) {
if(event.keyCode == 37) {
document.addEventListener('keydown', function(event) {
if(event.keyCode == 39) {
document.addEventListener('keydown', function(event) {
if(event.keyCode == 37) {
document.addEventListener('keydown', function(event) {
if(event.keyCode == 39) {
document.addEventListener('keydown', function(event) {
if(event.keyCode == 66) {
document.addEventListener('keydown', function(event) {
if(event.keyCode == 65) {
document.addEventListener('keydown', function(event) {
if(event.keyCode == 83) {
alert('CODE ENTERED');
window.location = "NEW WEB ADRESS"
}
});
}
});
}
});
}
});
}
});
}
});
}
});
}
});
}
});
}
});
}
});
</script>
答案 0 :(得分:1)
可以通过一个监听器来完成此操作。
import boto3
s3 = boto3.resource('s3')
for bucket in s3.buckets.all():
print(bucket.name)
答案 1 :(得分:1)
我会这样做。
keyCode
is deprecated)。
var keys = [
'ArrowUp',
'ArrowUp',
'ArrowDown',
'ArrowDown',
'ArrowLeft',
'ArrowRight',
'ArrowLeft',
'ArrowRight',
'b',
'a'
];
var keyed = 0;
window.addEventListener('keydown', function(e) {
if (keys[keyed].toLowerCase() === e.key.toLowerCase()) {
keyed++;
}
else {
keyed = 0;
}
if (keyed >= keys.length) {
keyed = 0;
console.log('Code entered!');
}
});
&#13;
答案 2 :(得分:0)
您可以将密钥保存在一个数组中并弹出第一个项目(如果已输入)。因此,您可以保持优先顺序。
var secretKeys = [38, 38, 40, 40, 37, 39, 37, 39, 66, 65, 83];
document.addEventListener('keydown', function(event) {
input = event.keyCode;
if(input === secretKeys[0]) {
secretKeys.shift();
if (secretKeys.length == 0) {
alert('You entered the secret key');
window.location = "NEW WEB ADRESS";
}
}
});
答案 3 :(得分:0)
我不确定您是否知道,但每次在初始解决方案中按键时,您都会添加越来越多的事件监听器。这是非常不必要和不切实际的,因为只用一个就可以实现相同的解决方案。
您的代码中的错误是您将网址分配给 window.location
而不是window.location.href
。
编辑:分配到window.location
或window.location.href
都是正确的,并产生相同的结果。
const codes = [38, 38, 40, 40, 37, 39, 37, 39, 66, 65, 83];
let codeIndex = 0;
document.addEventListener("keydown", (event) => {
console.log(event.keyCode);
if (event.keyCode != codes[codeIndex++]) {
codeIndex = 0; // wrong code, reset
}
if (codeIndex == codes.length) {
alert("CODE ENTERED"); // success!
// window.location.href = "NEW WEB ADDRESS";
}
});
&#13;
p {
font-family: Arial, sans-serif;
font-size: 1em;
line-height: 1.25em;
}
key {
display: inline-block;
padding: 0 0.5em;
border: 1px solid #ccc;
border-radius: 0.25em;
background-color: #eee;
font-family: monospace;
}
&#13;
<p>Focus on this snippet and enter the code to trigger the alert:
<key title="Up">↑</key>
<key title="Up">↑</key>
<key title="Down">↓</key>
<key title="Down">↓</key>
<key title="Left">←</key>
<key title="Right">→</key>
<key title="Left">←</key>
<key title="Right">→</key>
<key title="B">B</key>
<key title="A">A</key>
<key title="S">S</key>
</p>
&#13;
答案 4 :(得分:0)
您可以跟踪输入的代码并在一段时间后重置它,或者当长度超过Konami代码长度时,如果用户可以重新开始而无需刷新页面。
{{1}}