gpt4 book ai didi

javascript - 鼠标指针不会隐藏在 chrome 全屏 div 上

转载 作者:行者123 更新时间:2023-11-28 15:47:24 27 4
gpt4 key购买 nike

我想全屏显示一个 HTML 元素(一个 div),并隐藏指针。

这看起来很简单(在 div 变为全屏时设置 cursor:none),但它不能跨浏览器正常工作。

下面的代码片段适用于 Firefox,但在 chrome 56/Mac OSX 中,鼠标指针会在一段时间后重新出现(通常在 1-60 秒内)。

是否有可靠的跨浏览器方式在全屏时隐藏鼠标指针?

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Fullscreen mouse pointer</title>

<style>
.is-fullscreen {
cursor: none;
width: 100%;
height: 100%;;
background-color: white;
}
</style>
</head>
<body>

<div id="gofull">
FULLSCREEN AREA
</div>

<button onclick="makeFS()">Make fullscreen</button>


<script>
// Button to make a div fullscreen and add relevant style in that case
function makeFS() {
// Get FS element, add class, and go fullscreen
var el = document.getElementById("gofull");
el.classList.add('is-fullscreen');
if (el.requestFullscreen) {
el.requestFullscreen();
} else if (el.msRequestFullscreen) {
el.msRequestFullscreen();
} else if (el.mozRequestFullScreen) {
el.mozRequestFullScreen();
} else if (el.webkitRequestFullscreen) {
el.webkitRequestFullscreen();
} else {
console.log('Your browser does not appear to support fullscreen rendering.');
}
}

</script>

</body>
</html>

其他注意事项

我曾尝试在与全屏显示不同的元素(例如子 div)上设置 cursor:none,但这也没有帮助。

指针锁定 API 似乎有点矫枉过正,我们宁愿不必请求额外的用户许可,因为在 HTML/CSS 中看起来应该很简单。

浏览器错误引用

只有相关的浏览器错误似乎与视频有关。这在没有视频的情况下发生 - 只是一个静态不变的 div。

在 Mac OS X 上比较 FF 51 和 Chrome 56。

最佳答案

1) 光标可以是任何你想要的图像,使用声明:

cursor: url([URI]), auto;

2) 在 base-64 编码 中,透明的单像素 gif 具有以下数据 URI:

data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7

将这两者放在一起,当光标悬停在任何给定元素上时,我们可以将光标变成透明的单像素 gif:

工作示例:

div {
width: 100px;
height: 100px;
background-color: rgb(255,0,0);
cursor: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7), auto;
}
<div></div>

关于javascript - 鼠标指针不会隐藏在 chrome 全屏 div 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42488941/

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