gpt4 book ai didi

JavaScript - window.moveBy 不工​​作

转载 作者:行者123 更新时间:2023-12-03 06:28:42 25 4
gpt4 key购买 nike

我对 JavaScript 还很陌生,刚刚学习了 window 对象。我正在尝试制作一个简单的脚本,当按下其中一个箭头键时,该脚本会将浏览器窗口向一个方向移动 10 个像素。

我已经验证事件处理程序有效,关键代码正确,moveScreen() 函数正在执行,并且其中的条件也有效。那为什么屏幕不动呢???到目前为止我已经在 Firefox 和 Chrome 中进行了测试。

function moveScreen(direction) {
'use strict';

if (direction === 'up') window.moveBy(0, -10);
if (direction === 'right') window.moveBy(10, 0);
if (direction === 'down') window.moveBy(0, 10);
if (direction === 'left') window.moveBy(-10, 0);
}


function handleKeyDown(e) {
'use strict';

e = e || window.event;
const key = e.keyCode;

switch (key) {
case 38:
moveScreen('up');
break;
case 39:
moveScreen('right');
break;
case 40:
moveScreen('down');
break;
case 37:
moveScreen('left');
break;
}
}


window.onload = function() {
'use strict';
document.onkeydown = handleKeyDown;
}

这是 HTML 文件,它只在正文中包含脚本:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script src="moveWindow.js"></script>
</body>
</html>

最佳答案

如果你在 MDN 上查看 moveBy 的描述 MDN moveBy你会发现你正在尝试的事情可能是不可能的。

Since Firefox 7, it's no longer possible for a web site to move a window in a browser, according to the following rules:

  1. You can't move a window or tab that wasn’t created by window.open.
  2. You can't move a window or tab when it’s in a window with more than one tab.

关于JavaScript - window.moveBy 不工​​作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38527683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com