gpt4 book ai didi

javascript - 最新的桌面版 Firefox 被识别为触摸设备吗?

转载 作者:行者123 更新时间:2023-12-02 16:06:35 25 4
gpt4 key购买 nike

有谁注意到,在最新版本的桌面版 Firefox 上,它被识别为触摸设备?

我正在使用下面的脚本:

function isTouch() {
try{ document.createEvent("TouchEvent"); return true; }
catch(e){ return false;
}
}

if (isTouch()) {
alert('I am touch device!')
}

直到最新版本的桌面 Firefox 之前,该脚本都给了我完美的结果。这是一个错误吗?我错过了什么吗?

感谢大家的宝贵时间!

编辑:误报人们。我不知道出了什么问题,我尝试重置首选项,禁用所有扩展,但没有运气。

我终于通过刷新 firefox 解决了这个问题(尽管丢失了所有扩展并且不得不重新安装)。

感谢大家的努力,对于给您带来的任何不便,我们深表歉意。

最佳答案

您只是检查是否可以创建特定类型的事件,而不是检查当前是否使用触摸设备。

这里有一个比较完整的isTouchDevice函数,是我前段时间基于Modernizr的核心写的。

/**
* Detect if the current device is a touch device.
* Inspired by Modernizr and hardcore streamlined.
*/
function isTouchDevice() {
var bool;
if( ('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch ) {
bool = true;
}
else {
var fakeBody = document.createElement( 'fakebody' );
fakeBody.innerHTML += '<style>@media (touch-enabled),(-webkit-touch-enabled),(-moz-touch-enabled),(-o-touch-enabled){#touchtest{top:42px;position:absolute}}</style>';
document.documentElement.appendChild( fakeBody );

var touchTestNode = document.createElement( 'div' );
touchTestNode.id = 'touchtest';
fakeBody.appendChild( touchTestNode );
bool = touchTestNode.offsetTop === 42;
}
return bool;
}

关于javascript - 最新的桌面版 Firefox 被识别为触摸设备吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30666932/

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