小编Man*_*piK的帖子

检查我的网站是否在另一个标签中打开

如果用户已经在浏览器的另一个标签页中打开了我的网站,我想查看JavaScript.

看来我不能用页面可视性做到这一点 ......

我看到的唯一方法是使用基于会话cookie的WebSocket,并检查客户端是否有多个套接字.但通过这种方式,从当前选项卡,我必须询问我的服务器该用户是否在其当前浏览器选项卡旁边打开了一个选项卡.这有点牵强!

也许有localstorage

javascript html5 websocket

21
推荐指数
4
解决办法
3万
查看次数

使用 Nuxt.js 时动态 Vuex 模块初始化的最佳方法是什么?

最近,我一直在构建一个使用大量独立 Vuex 模块的大型应用程序。让我们来看看其中之一(例如support-chat)。支持聊天位于它自己的单独页面上,在初始应用程序加载时使用此模块污染商店是多余的。我的目标是在加载页面时动态注册此模块。所以我的问题是 – 我应该在哪里、何时以及如何注册该模块?

我最终beforeCreate在页面组件的钩子中注册了这个模块:

import supportChatModule from '@/vuex/modules/support-chat'

// ...
beforeCreate() {
  this.$store.registerModule('support-chat', supportChatModule, { preserveState: process.client })
},
beforeDestroy() {
  this.$store.unregisterModule('support-chat')
}
// ...
Run Code Online (Sandbox Code Playgroud)

这种方法有什么缺陷?

如果您能分享您解决该问题的方法,那就太好了。

store vue.js server-side-rendering vuex nuxt.js

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

如何使用 nuxt 访问组件中的 HEAD 数据?

在页面中,我设置标题如下:

...
<script>
export default {
  head() {
    return {
      title: this.post.name
    }
  }
}
</script>
Run Code Online (Sandbox Code Playgroud)

如何在另一个组件中获取这些数据?

我尝试过,this.$metaInfo但我需要获取数据的组件位于外部布局中<nuxt />...
另外,如果当前路由位于填充了头部的子页面中,则它将覆盖父标题。那么,我该怎么办呢?

vue.js nuxt.js vue-meta

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

多次调整一张图像的大小

我正在将给定的图像(保存在磁盘上)调整为不同的大小:

var image = 'photos/pic';
var sizes = [1440, 1080, 720, 480];

for (var i = 0; i < sizes.length; i++) {
    sharp(image + '.jpg')
    .resize(sizes[i], sizes[i])
    .toFile(image + '-' + sizes[i] + '.jpg');       
}
Run Code Online (Sandbox Code Playgroud)

这按预期工作,但我想还有改进的余地。

  • for 循环会导致任何问题吗?如果是,有没有更好的方法来解决这个问题?
  • 等待生成的图片调整大小并将其用于下一个调整大小过程会更快吗?假设原始图片是2000x2000. 如果有的话,从调整720x720480x480而不是2000x2000到的速度改进480x480是什么?考虑到我必须先读取720x720文件并等待调整大小完成。
  • 我应该在“主”节点线程上调整大小还是分叉子进程?无论如何,它们都是异步运行的,对吗?

node.js sharp

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