作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 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:
- You can't move a window or tab that wasn’t created by
window.open
.- 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/
我是一名优秀的程序员,十分优秀!