我有一个TronLink chrome扩展,这个扩展提供了一个window.tronWeb属性,我想在加载文档之后访问这个属性。我正在我的Nuxt页面组件的mounted()部分尝试这样做:
// ...
mounted() {
this.tronWeb = window.tronWeb;
},
// ...但我收到了undefined。
我已经通过超时解决了这个问题:
// ...
mounted() {
let _this = this;
let attempts = 0;
setTimeout(function startGame() {
if (window.tronWeb) {
_this.tronWeb = window.tronWeb;
} else {
attempts++;
if (attempts >= 5) {
console.log(error);
} else {
setTimeout(startGame, 500);
}
}
}, 0);
},
// ...但看起来这是一个非常奇怪的解决方案。为什么我不能在mounted()部分直接访问这个属性?
发布于 2020-04-25 05:59:50
试试这个:
if (process.browser) {
console.log('The window object:', window)
}发布于 2022-02-16 09:02:43
您可以参考:nuxt docs > ssr section > window is not defined
因为此代码是在服务器中呈现的,所以无法访问window对象。
您可以只在客户端使用process.client来检查和运行代码。
if (process.client){
console.log('do sth')
}https://stackoverflow.com/questions/61130660
复制相似问题