我是chrome扩展开发中的新成员,在开发过程中,当我试图在chrome浏览器的开始页打开扩展时,我在控制台得到此错误。
图片链接
Uncaught (in promise) Error: Cannot access a chrome://URL
我可以避免这个错误或任何其他方法来修复它吗?
我也阻止打开扩展窗口,但这不是问题的解决方案
代码来自App.vue文件
chrome.tabs.query(queryOptions, (tabs) => {
let url = tabs[0].url;
if (url.indexOf("chrome://") !== -1) {
window.close();
}
background.js
chrome.action.onClicked.addListener(function(tab) {
chrome.scripting.executeScript({
target: {tabId: tab.id},
files: ['js/inject.js']
});
chrome.scripting.insertCSS({
target: {tabId: tab.id},
files: ['css/inject.css']
});
});
我需要保持这个窗口不打开在浏览器的开始页,但我也需要修复这个错误的抛出。
解决方案,我从评论作品中得到的,只是简单地检查tab.url
:
chrome.action.onClicked.addListener(function(tab) {
console.log(tab.url);
if (tab.url.includes('chrome://')){
console.log('can`t run on start page')
} else {
console.log(tab.url);
chrome.scripting.executeScript({
target: {tabId: tab.id},
files: ['js/inject.js']
});
chrome.scripting.insertCSS({
target: {tabId: tab.id},
files: ['css/inject.css']
});
}