首页 > 解决方案 > Chrome 扩展中 popup.html 的内容没有快速更新

问题描述

我试图让我的 Chrome 扩展程序的 background.js 每次完成任务时更新弹出窗口的 div 中的文本,让用户知道发生了什么。我在 background.js 中有这段代码:

...
sendStatusUpdate('Getting stuff...');
var gotStuff = getStuff();
...
sendStatusUpdate('Done.');

在哪里:

function sendStatusUpdate(statusUpdate) {
  var views = chrome.extension.getViews({
    type: "popup"
  });
  views[0].document.getElementById('status').textContent = statusUpdate;
};

我希望跨度显示“正在获取东西......”,直到getStuff()函数完成执行(需要一段时间)。但是现在我什么都看不到,直到一切都完成,此时我看到“正在获取东西......”闪烁了十分之一秒,然后“完成”。我还让 background.js 向 popup.js 发送一条消息,以便该组件可以更新自己的视图,但同样的问题。奇怪的是,如果我在第一个断点之后放置一个断点,sendStatusUpdate()它会一直保持空白,直到我将鼠标悬停或单击弹出窗口。然后它显示“获取东西......”没问题。

这里发生了什么?

标签: javascripthtmldomdynamicgoogle-chrome-extension

解决方案


推荐阅读