一、chrome.runtime.onInstalled undefined
异常现象:
每次点击popup弹窗时,都会报undefined异常

manifest.json代码:

background.js代码:

原因:
如果背景页是background.js,那么chrome会创建一个临时的背景页面来存放。每次调取背景页的代码时,都会重新创建一个临时页面,重新加载数据。
这就导致了每开一次popup页面,就会调用一次“chrome.runtime.onInstalled”,但是已经没有初始化了,所以undefined。
解决方案:
还是要加一个空判断

二、tabs.query()方法有时获取不到数据
1、方法不会获取未加载的页面,如:电脑待机重新开启后,页面如果不主动选中,页面属于未加载状态,需要主动点一下页面来加载
本文分析了Chrome扩展在使用chrome.runtime.onInstalled时遇到的undefined异常及其原因,并提供了解决方案,即在调用时添加空判断。同时,探讨了tabs.query方法可能无法获取到数据的情况,指出该问题可能由于页面未加载导致,建议用户主动激活页面。文章对前端开发者调试Chrome扩展具有指导意义。
1万+

被折叠的 条评论
为什么被折叠?



