Closed xyyaxyy closed 1 year ago
没问题吧,要不你试下
setTimeout(() => {
console.log(window.pluginWebUpdateNotice_)
window.pluginWebUpdateNotice_.onClickRefresh = () => window.location.reload()
}, 0)
是的,用setTimeout可以设置成功,但是页面重新加载之后,会再次弹出 notification 提示更新。 相当于会弹出两次提示,我必须再刷新一下页面
应该是因为 script
标签的 defer
属性导致代码执行时机不对。加defer
的初衷是想插件的加载尽量不影响项目的运行。
不过我看现在用 vite
之类的新工具打包,是没问题的。因为其他的 js
文件引入方式,也是用的 type="module"
。
我考虑下是不是把 defer
删了。
方便的话,把你打包后的 index.html
截图看下。
vue2的项目
你没改过 index.html
吧?这里插件重复注入了代码😅,我想不出什么 bug 会导致这种情况。
还有麻烦把其他的 script
引入方式也截图下。
试下最新的 v1.5.1
好的,感谢大佬
现在默认用 window.location.reload
刷新页面,不用自定义。
我还是好奇这个重复注入代码是怎么产生的...。我看你另一个 issue 给我的项目链接是没这种情况的。
window.pluginWebUpdateNotice.onClickRefresh = () => window.location.reload() 我放在 入口文件 main.js 中的, 控制台 console.log(window.pluginWebUpdateNotice) 也没有