gpt4 book ai didi

google-chrome - chrome 扩展弹出窗口和背景 ajax

转载 作者:行者123 更新时间:2023-12-04 16:55:55 25 4
gpt4 key购买 nike

我有一个要求,其中 background.html 每 10 分钟连续更新一次,当我单击弹出窗口时,它应该触发背景立即更新并在弹出窗口中显示结果。

我有使用 ajax 工作的后台更新,并且我有弹出窗口触发背景以使用 ajax 工作进行立即更新。但是,我被困在如何在弹出窗口中显示最新结果...如何判断后台 ajax 调用何时完成并在弹出窗口中显示最新结果?

谢谢

最佳答案

好吧,如果你想监听背景页面上的变化,你有两种方法可以做你想做的事。

  • 在您的弹出窗口中,您可以注册 chrome.extension.onRequest.addListener在您的弹出页面中,在您的背景页面中,您可以 chrome.extension.sendRequest当你得到更新的东西时。
  • 您可以直接访问 Popup DOM,您可以从 chrome.extension.getViews({type:'popup'}) 获取实例,一旦你得到它,你就可以在那个 DOM 中调用一个方法。从弹出窗口中,您也可以使用 chrome.extension.getBackgroundPage() 轻松访问后台页面.对于这两种情况,您都会返回一个 DOMWindow。

  • 我个人会使用#2,因为你属于同一个扩展进程,你不需要与注入(inject)的内容脚本通信。
    var popups = chrome.extension.getViews({type: "popup"});
    if (popups.length != 0) {
    var popup = popups[0];
    popup.doSomething();
    }

    希望这可以帮助。

    关于google-chrome - chrome 扩展弹出窗口和背景 ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5306888/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com