小编Gio*_*dze的帖子

如何在 service worker 中播放声音甚至在 chrome 中振动?

我正在使用service workers. 我需要它来push通知。我想要实现的是,当我收到通知时,它至少应该播放声音或振动。

self.registration.showNotification(title, {
   body: body,
   icon: './assets/images/icons/icon_144x144.png',
   vibrate: [200, 100, 200, 100, 200, 100, 200],
});
Run Code Online (Sandbox Code Playgroud)

收到通知后,我收到了这段代码。

问题1:完全没有振动发生。然后我进行了一些调试。

https://googlechrome.github.io/samples/notifications/vibrate.html不会使我的手机振动。

https://googlechrome.github.io/samples/vibration/index.html会使我的手机振动。

为什么它不从第一个链接振动?我正在测试所有这些android chrome

问题 2:看起来像在 Firefox 上,它确实有默认声音。为什么谷歌没有相同的声音?它只是沉默。没办法播放声音?至少我想振动它...

android google-chrome push-notification service-worker

10
推荐指数
1
解决办法
581
查看次数

vue合成api如何解决命名冲突?

据说composition api解决了mixin带来的命名冲突。

\n

这是我在网上找到的关于composition API的内容。

\n
export default {\n  setup () {\n    const { someVar1, someMethod1 } = useCompFunction1();\n    const { someVar2, someMethod2 } = useCompFunction2();\n    return {\n      someVar1,\n      someMethod1,\n      someVar2,\n      someMethod2\n    }\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我猜,useCompFunction1()useCompFunction2就像 mixins 一样。在示例中,一切都很好。但是如果useCompFunction1()useCompFunction2()使用具有相同名称的变量,我们在上面的代码中仍然会遇到问题,因为我们无法使用这两个变量。所以,命名冲突当然仍然存在。那为什么说命名冲突可以用 Composition API 解决呢?

\n

更新:

\n

我提供的示例,这是我发现应该如何编写可重用代码的代码。

\n
import { ref, computed } from "vue";\n\xe2\x80\xa8\nexport default {\n  setup() {\n    const count = ref(0);\n    const double = computed(() => count.value * 2)\n    function increment() {\n …
Run Code Online (Sandbox Code Playgroud)

vue.js vue-component vuex vuejs2

3
推荐指数
2
解决办法
1454
查看次数

用 C++ 编写的程序如何在多个 CPU 架构上运行?

我有一个 C++ 程序,我想编译成汇编,然后汇编程序将它编译成机器码。

现在,据我所知,为了将汇编代码转换为机器代码,汇编程序需要某种表来将汇编指令映射到实际的机器指令。

汇编程序将使用哪个表?我的 C++ 程序是否有可能不会在所有 CPU 上运行,因为 CPU 使用不同的表,这意味着相同的机器代码将在不同的 CPU 上做不同的事情?

c++ assembly processor cpu-architecture

1
推荐指数
1
解决办法
227
查看次数

我们为什么要使用Java虚拟机?

我试图围绕 Java 虚拟机以及它为什么使用字节码。我知道它被问了很多次,但不知何故我最终无法做出正确的假设,所以我研究了很多东西并决定解释我认为它是如何工作的以及它是否正确。

我知道在 C++ 中,编译器在特定(架构 + 操作系统)上编译源代码。因此,(x86 + Windows)的 C++ 编译版本不会在任何其他架构或操作系统上运行。

我的假设

Java 编译器在将源代码编译为字节码时,并不根据体系结构或操作系统进行编译。如果在 Windows 或 Mac 上编译,源代码将始终编译为相同的字节码。假设我们编译了,现在将字节码发送到另一台计算机(x86 + windows)。为了让那台计算机运行这个字节码,它需要 JVM。现在,JVM 知道它在什么架构 + 操作系统上运行。(x86 + 窗户)。因此,JVM 会将字节码编译为 x86 + Windows,并生成现在可以由实际计算机运行的机器码。

因此,即使我们使用 Java 虚拟机,我们仍然在我们的操作系统上而不是在虚拟机上运行实际的机器代码。虚拟机只是帮助我们将字节码转换为机器码。

这意味着在使用 Java 时,我们唯一需要担心的是安装 JVM,仅此而已。

我一直认为虚拟机只是一台计算机本身,它可以在自己的隔离位置运行代码,但是对于 JVM,我认为这是不正确的,因为我认为 JVM 生成的机器代码仍然必须是在我们拥有的实际操作系统上运行。

你认为我的假设正确吗?

c++ java assembly processor virtual-machine

0
推荐指数
2
解决办法
311
查看次数