gpt4 book ai didi

javascript - Chrome 在后台运行时动态站点更新的 Chrome 桌面通知

转载 作者:行者123 更新时间:2023-11-28 02:16:15 25 4
gpt4 key购买 nike

我已经为社区网站创建了一个书签扩展,该网站托管帖子,我需要获得社区网站中新帖子的桌面通知。 chrome 在后台运行,但不会打开任何选项卡,除非有桌面通知通知。

想法是定期从后台页面向内容脚本发送消息,并获取帖子的更新并显示桌面通知,从而用户在看到通知时打开更新。

查询:如何访问网站的 DOM(当 chrome 在后台运行时),隐藏提取过程不让用户看到。

谢谢!!

编辑

var statone;
var xhr = new XMLHttpRequest();
xhr.open("GET", "https://www.dsswym.3ds.com/", true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status==200) {
setTimeout(function(){ //wait for the webpage loading
statone = $('#widgetPanel-7qrSN8CAwqKk0DP2_GQK').text();
console.log(statone);
alert(statone);
}, 10000);
}
}
xhr.send();

我无法获取上述代码的文本值,而是我的警报框为空。源站点不提供 xml 或 Json 文件,只是我需要提取站点上的第一个内容或更新。

最佳答案

您需要使用 XMLHttpRequest 中的响应 。正在做XMLHttpRequest request 不会将请求资源加载到页面中。

在 jQuery 中,你可以这样做:

$.get("https://www.dsswym.3ds.com/", function(data) {
// load response text into a new page element
var fakePage = document.createElement("html");
fakePage.innerHTML = data;

// find the desired element within the new page element
var statone = $(fakePage).find('#widgetPanel-7qrSN8CAwqKk0DP2_GQK').text();
console.log(statone);
}
});

这会将 Ajax 获取的结果存储到 innerHTML 中新的<html> element,它将要解析到新 DOM 中的文本。然后我们使用 jQuery 的 .find方法从 DOM 中获取我们需要的元素。

关于javascript - Chrome 在后台运行时动态站点更新的 Chrome 桌面通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16343320/

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