Reactjs Can';t让通用传感器API在React应用程序中工作
我正在尝试在React应用程序中实现通用传感器API 当我尝试在代码中实现任何传感器时,总是会出现错误。 例如:Reactjs Can';t让通用传感器API在React应用程序中工作,reactjs,sensors,Reactjs,Sensors,我正在尝试在React应用程序中实现通用传感器API 当我尝试在代码中实现任何传感器时,总是会出现错误。 例如: var sensor1 = new AmbientLightSensor(); 我发现错误:找不到名称:“AmbientLightSensor” 我假设我的代码中需要一个import语句。我发现的所有示例都只包括LitElement。我甚至尝试过,但仍然得到未知的错误 在我的typescript代码中需要哪些导入语句 我需要什么npm包 下面是我正在使用的typescript
var sensor1 = new AmbientLightSensor();
我发现错误:找不到名称:“AmbientLightSensor”
我假设我的代码中需要一个import语句。我发现的所有示例都只包括LitElement。我甚至尝试过,但仍然得到未知的错误
这完全取决于您使用的浏览器。我认为FireFox目前不支持它,所以我将重点关注Chrome 首先,你可能需要为你的网站提供服务。看起来这几乎随权限的不同而不同,而且有些权限在本地主机URL上也可以使用,无论发生什么情况 其次,对于Chrome,您必须在
chrome://flags/#enable-通用传感器附加类
第页
接下来,您需要确保获得用户使用传感器的权限,然后才能实际使用它。将检查的代码段如下所示:
(async function(){
const {state} = await navigator.permissions.query({
name: "ambient-light-sensor"
});
if (state !== "granted") {
console.warn("You haven't granted permission to use the light sensor");
return;
}
const sensor = new AmbientLightSensor();
sensor.addEventListener("reading", () => {
console.log(sensor.illuminance);
});
sensor.addEventListener("error", err => {
console.error(err);
});
sensor.start();
}());
我能够使用polyfill在以下位置运行这些api:
?此外,您是否通过HTTPS进行此操作?请尝试共享所有相关代码,而不仅仅是一个表达式。试着分享一个例子。如果没有这些,就不可能知道您试图访问的代码是什么,您是如何初始化任何外部模块的,或者您是如何尝试与它交互的。@user3786170您应该将其编辑到您的问题中,而不是将其作为注释发布。
(async function(){
const {state} = await navigator.permissions.query({
name: "ambient-light-sensor"
});
if (state !== "granted") {
console.warn("You haven't granted permission to use the light sensor");
return;
}
const sensor = new AmbientLightSensor();
sensor.addEventListener("reading", () => {
console.log(sensor.illuminance);
});
sensor.addEventListener("error", err => {
console.error(err);
});
sensor.start();
}());