Error in event handler: ReferenceError: window is not defined chrome extension with manifest v3
Error in event handler: ReferenceError: window is not defined chrome extension with manifest v3
我正在为 chrome 扩展使用清单版本 3 这个我在后台 js 中遇到的错误:
事件处理程序中的错误:ReferenceError:window 未定义 chrome 带有清单 v3 的扩展
"manifest_version":3,
“权限”:[“contextMenus”,“存储”,“activeTab”,“选项卡”,“脚本”,“webRequest”],
<code>var posLeft = ( window.width - winWidth ) / 2 ;
ManifestV3 扩展使用服务工作者,因此它没有 DOM 或 window
。
- 使用chrome.windows.getCurrent获取当前浏览器window的size/position。
- 使用chrome.system.display.getInfo(自Chrome 94)获取显示器的size/metrics。
对于可能在类似上下文中查找该错误消息的其他人来说,我在忽略使 window
对象在运行时而不是在注入函数时可访问时遇到了同样的错误v3 后台脚本动态准备注入特定选项卡。
为了从 v3 后台脚本动态注入,选项卡特定对象(在本例中 window
)需要包含在传递的函数中,如以下匿名函数案例所示:
chrome.scripting.executeScript({
target: { tabId: currentTab.id },
func: () => window.history.back()
});
如果 window.history.back
被提供为 func
的值,那么显然后台脚本将不知道或不可用它,并且将出现相同的错误消息。
这确实在文档中有所描述。
我正在为 chrome 扩展使用清单版本 3 这个我在后台 js 中遇到的错误: 事件处理程序中的错误:ReferenceError:window 未定义 chrome 带有清单 v3 的扩展
"manifest_version":3, “权限”:[“contextMenus”,“存储”,“activeTab”,“选项卡”,“脚本”,“webRequest”],
<code>var posLeft = ( window.width - winWidth ) / 2 ;
ManifestV3 扩展使用服务工作者,因此它没有 DOM 或 window
。
- 使用chrome.windows.getCurrent获取当前浏览器window的size/position。
- 使用chrome.system.display.getInfo(自Chrome 94)获取显示器的size/metrics。
对于可能在类似上下文中查找该错误消息的其他人来说,我在忽略使 window
对象在运行时而不是在注入函数时可访问时遇到了同样的错误v3 后台脚本动态准备注入特定选项卡。
为了从 v3 后台脚本动态注入,选项卡特定对象(在本例中 window
)需要包含在传递的函数中,如以下匿名函数案例所示:
chrome.scripting.executeScript({
target: { tabId: currentTab.id },
func: () => window.history.back()
});
如果 window.history.back
被提供为 func
的值,那么显然后台脚本将不知道或不可用它,并且将出现相同的错误消息。
这确实在文档中有所描述。