提问人:Notik 提问时间:11/12/2023 最后编辑:Notik 更新时间:11/12/2023 访问量:51
如何在 nuxtjs 中调用函数 onload
How to call function onload in nuxtjs
问:
我在 Nuxtjs 2 中有一个应用程序。我正在使用 nuxt-facebook-pixel-module 来跟踪我网站上的用户活动。我向其添加了 Facebook 转换 API。我创建了一个调用 Facebook 转换 API 的 API 端点,现在我想在每次更改路由并调用客户端函数 this.$fb.track() 时调用此端点。这也必须是您第一次启动网站,并且每次路线更改时也必须如此。我不想将相同的代码添加到我的所有子页面中,因为这将是很多冗余代码。是否有可能通过插件文件夹或中间件以某种方式做到这一点?
我试图通过plugins目录进行此操作,但它仅适用于第一次路由更改。当我打开网站时,它不起作用。仅当我刷新页面或转到其他子页面时。
这就是我的插件代码的样子:
export default async ({ app }) => {
app.router.afterEach(async (to, from) => {
const eventId = Math.floor(Math.random() * 100000).toString()
await fetch('/api/event-handle', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
data: [{some data}],
}),
})
app.$fb.track('ViewContent', {}, eventId)
})
}
在我的 nuxt.config.js 中,我这样添加它:
plugins: [
{ src: '@/plugins/facebook-client.js', mode: 'client' },
],
但是当我运行此代码时,我看到在控制台中调用了$fb函数,如屏幕截图所示:
但是在网络选项卡中,我没有看到任何获取请求,只有当我刷新页面或转到其他路由时。
如果有人能帮助我,我将不胜感激。
答: 暂无答案
上一个:对齐中心不在中心位置
评论