javascript - 如何重新加载弹出窗口而不关闭以从内容中检索新数据?
问题描述
我在 chrome 扩展的内容脚本中有此代码。
new MutationObserver(() => {
var dataImage: any = document.getElementsByClassName('image');
var dataName: any = document.getElementsByClassName('name');
var dataTitle: any = document.getElementsByClassName('title');
var listData: Array<any> = [];
for (let x = 0; x < dataImage.length; x++) {
const image = dataImage[x]?.firstElementChild?.src;
const name = dataName[x]?.innerText;
const title = dataTitle[x]?.firstElementChild?.innerText;
const web = dataName[x]?.firstElementChild?.href;
listData.push({
image: image,
name: name,
title: title,
web: web,
});
}
const getData = (listData: any) => {
chrome.runtime.sendMessage({
total_elements: listData, // or whatever you want to send
});
};
getData(listData);
localStorage.setItem('taskdata', JSON.stringify(listData));
}).observe(document, { subtree: true, childList: true });
popup.js
chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
if (request.total_elements) localStorage.setItem('leadList', JSON.stringify(request.total_elements));
});
const getLeadList = localStorage.getItem('leadList');
const initLeadList = getLeadList === null ? [] : JSON.parse(getLeadList);
initLeadList.map((x) => {
return (
<>{x.name}{x.title}
</>
)
}
更新内容 js 数据时,如何实时重新加载弹出窗口?
我的弹出窗口仅在我重新加载时运行,然后关闭然后重新打开。我怎样才能让新数据实时反映在弹出窗口中?
是window.open window.close吗?
更新内容 js 数据时,如何实时重新加载弹出窗口?
我的弹出窗口仅在我重新加载时运行,然后关闭然后重新打开。我怎样才能让新数据实时反映在弹出窗口中?
解决方案
推荐阅读
- mysql - 将 10GB 的 mysql 表发送到远程服务器
- cmake - CMake 错误地识别有效的 C++ 编译器选项?
- python - 我的程序不会未读不需要的消息
- python - 在 Python 上打印变量的语法错误
- python - How to define conditional for pandas column of several last row in data frame?
- javascript - Chrome 调试器的“异步堆栈”是什么?
- php - 无法使用 Swift_Mailer 发送电子邮件
- javascript - 切换元素显示的 JavaScript 中的 ON/OFF 事件侦听器
- go - 如何在 Go 中获取 DNS 解析失败(NXDOMAIN)的主机的 CNAME?
- php - 如何防止 laravel 在测试中触发事件?