我做了一个扩展程序,它将跟踪一个人在漫画网站上阅读的漫画,并列出他们上次在其收藏夹页面上阅读的章节。而且我最近提出了一个有用的功能来使扩展更好一点。我想让用户选择只能追踪他们在网站上收藏的漫画。因此,当他们阅读时,扩展名会在后台不断检查,如果它在他们的收藏夹中,那么保存它,否则不保存。Chrome扩展程序 - 从背景中的网站的单独页面获取HTML
该网站有一个收藏夹页面,其中包含一个人收藏的所有漫画列表。我希望能够在用户隐藏的背景中不断获取该页面上列出的每个漫画的名称。
所以我的问题是,有没有办法在后台抓取特定页面的html,并不断抓取特定数据,如某些元素的文本保存到数组中,而用户不必实际上在收藏夹页面?
编辑: 解决方案
var barray = [];
function getbm(callback) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(data) {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
var data = xhr.responseText;
callback(data);
} else {
callback(null);
}
}
}
var url = 'http://mangafox.me/bookmark/index.php?status=all';
xhr.open('GET', url, true);
xhr.send();
};
function res(data) {
var parsed = $.parseHTML(data);
parsed = $('<div />').append(parsed);
parsed.find('h2.title').each(function(){
var bmanga = $(this).children('a.title').text();
barray.push({"manga": bmanga});
});
chrome.storage.local.set({'bData': barray})
};
getbm(res);
谢谢,它的工作!但是,在记录我收到的数据后,它似乎将整个html代码记录为一个巨大的字符串。我如何让它可搜索?例如,使用以下代码搜索它'var manga = $('h2.title')。children('a.title')。text();' – Vemon 2014-12-04 14:13:05
http://stackoverflow.com/questions/20196442/parse- xmlhttprequest-responsetext-with-jquery – Xan 2014-12-04 14:22:05
非常感谢,它的工作! :) – Vemon 2014-12-04 15:14:09