即使我打开另一个标签,如何保持谷歌Chrome扩展程序运行?

时间:2017-11-09 11:27:55

标签: javascript google-chrome-extension

我正在浏览器操作中运行chrome扩展程序。作为开发人员,我打开检查弹出窗口并运行,因此它将在当前选项卡中保持打开状态。当我打开另一个标签时,"检查弹出窗口"我在开发者模式下打开的东西正在关闭。有没有办法让"检查弹出窗口"即使我打开其他标签,也会持续运行?

1 个答案:

答案 0 :(得分:1)

你不能;通常,任何类型的焦点丢失都会导致弹出窗口关闭。

在检查弹出窗口时,为了便于调试,它对焦点丢失不太敏感,但更改选项卡仍会导致它关闭(因此,附加到它的Dev Tools窗口也会关闭)。

我的猜测是,如果当前标签在调用弹出窗口后发生更改,则Chrome API的一些重要期望会丢失。例如,.then(function(dbResult) { var startLocation = req.body.startLocation; var promises = dbResult.map(function(item) { if (item.length !== 1) { return item; } return googleDirection.directionRequest( startlocation.latitude + "," + startlocation.longitude, item[0].startLatitude + "," + item[0].startLongitude, true, false ).then(function(distance) { var distances = distance.routes.map(function (route) { return route.legs[0].distance.value; }); item.tripStartToConstrStart = Math.min.apply(Math, distances); return item; }); }); return Promise.all(promises); }) .then(function(dbResult) { console.log(dbResult) })权限将中断。那,或者它可能只是一个错误。

底线:这在正常使用中永远不会发生,所以这种无能并不重要。如果您需要访问多个选项卡,请在单独的窗口中打开它们:切换到它不会导致被检查的弹出窗口关闭。