Vue.js Nuxt:如何仅在重新加载后执行外部脚本?
Nuxt/Vue:如何在DOM重新提交后调用外部脚本(由第三方托管)?在每条路线上 我正在使用一个脚本向dom添加元素,但虚拟dom不匹配。因此,一旦脚本添加了元素,虚拟dom就会将它们全部删除 添加延迟标记没有任何作用,它只是在初始渲染后加载脚本,然后在重新渲染器中也会发生同样的事情 使用这样的框架,这个问题可能很常见Vue.js Nuxt:如何仅在重新加载后执行外部脚本?,vue.js,nuxt.js,Vue.js,Nuxt.js,Nuxt/Vue:如何在DOM重新提交后调用外部脚本(由第三方托管)?在每条路线上 我正在使用一个脚本向dom添加元素,但虚拟dom不匹配。因此,一旦脚本添加了元素,虚拟dom就会将它们全部删除 添加延迟标记没有任何作用,它只是在初始渲染后加载脚本,然后在重新渲染器中也会发生同样的事情 使用这样的框架,这个问题可能很常见 没有错误消息-只需在重新加载之前闪现一次dom元素。这是我当前设置的预期行为,但我正在寻找(不顾一切地)解决方法。首先,您需要制作一个插件: export default ({
没有错误消息-只需在重新加载之前闪现一次dom元素。这是我当前设置的预期行为,但我正在寻找(不顾一切地)解决方法。首先,您需要制作一个插件:
export default ({ app: { head, router, context } }, inject) => {
head.scripts.push({
src: 'http(s)://example.com/script.js'
async: false,
defer: true
})
})
然后将插件添加到plugins:[]
部分的nuxt.config.js
:
plugins: [
// ....
{ src: '~/plugins/script-injecter.js', ssr: false }
]
现在它只在页面加载时提供,使用
async:false
和defer:true
,它只会在页面加载完成后执行。首先,您要制作一个插件:
export default ({ app: { head, router, context } }, inject) => {
head.scripts.push({
src: 'http(s)://example.com/script.js'
async: false,
defer: true
})
})
然后将插件添加到plugins:[]
部分的nuxt.config.js
:
plugins: [
// ....
{ src: '~/plugins/script-injecter.js', ssr: false }
]
现在它只在页面加载时提供,使用
async:false
和defer:true
,它只会在页面加载完成后执行。在numxt.config.js
中引用脚本时,可以使用defer:true
在
numxt.config.js
中引用脚本时,可以使用defer:true
这是什么脚本?如果它改变了影响vue的dom,唯一的办法就是将其包装到vue中,它是什么脚本?如果它改变了影响vue的dom,唯一的办法就是将其包装到vue中