Javascript 将角度写入扩展迁移到清单V3
正如我在上个月看到的,ManifestV3现在已经准备好进行生产了,正如谷歌开发团队所说。但是我认为文档不完整()或者不是最新的。我正在尝试学习如何使用angular、typescript和Webpack开发扩展,但我希望扩展使用manifest v3。我将本教程用作参考()。不知何故,我想保持本教程中相同的步骤,而不是转移太多注意力。 我的扩展是一个生成的angular项目,我的背景是用typescript编写的,并使用Webpack在js中编译 manifest.jsonJavascript 将角度写入扩展迁移到清单V3,javascript,google-chrome-extension,service-worker,manifest,chromium,Javascript,Google Chrome Extension,Service Worker,Manifest,Chromium,正如我在上个月看到的,ManifestV3现在已经准备好进行生产了,正如谷歌开发团队所说。但是我认为文档不完整()或者不是最新的。我正在尝试学习如何使用angular、typescript和Webpack开发扩展,但我希望扩展使用manifest v3。我将本教程用作参考()。不知何故,我想保持本教程中相同的步骤,而不是转移太多注意力。 我的扩展是一个生成的angular项目,我的背景是用typescript编写的,并使用Webpack在js中编译 manifest.json { &qu
{
"name": "Great Extension",
"version": "1.0",
"description": "Build an Extension with Angular",
"manifest_version": 3,
"permissions": [
"activeTab",
"webNavigation",
"storage"
],
"background": {
"service_worker":"background.js"
},
"action": {
"default_popup": "index.html"
},
"content_security_policy": {
"extension_pages": "script-src 'self'; object-src 'self' "
}
}
背景
chrome.storage.sync.set({ color: '#3aa757' });
chrome.webNavigation.onCompleted.addListener(() => {
chrome.tabs.query({ active: true, currentWindow: true }, ([{ id }]) => {
chrome.pageAction.show(id);
});
}, { url: [{ urlMatches: 'google.com' }] });
});
custom-webpack.config.js
module.exports = {
entry: { background: 'src/background.ts' },
}
My background.js如下所示:
if (window === null || typeof window !== "object") {
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["background"],{
/***/ "EtE5":
/*!***************************!*\
!*** ./src/background.ts ***!
\***************************/
/*! no static exports found */
/***/ (function(module, exports) {
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
chrome.runtime.onInstalled.addListener(function () {
chrome.storage.sync.set({ color: '#3aa757' });
chrome.webNavigation.onCompleted.addListener(function () {
chrome.tabs.query({ active: true, currentWindow: true }, function (_a) {
var _b = __read(_a, 1), id = _b[0].id;
chrome.pageAction.show(id);
});
}, { url: [{ urlMatches: 'google.com' }] });
});
/***/ })
},[["EtE5","runtime"]]]);
//# sourceMappingURL=background.js.map
}
在manifest V3中,是否有任何解决方案能够真正起作用?我遇到了同样的问题。你有没有找到解决办法?
window is not defined
TypeError: Failed to execute 'addAll' on 'Cache': Request scheme 'chrome-extension'