Я новичок в "Расширении Chrome" и пытаюсь адаптироваться к новому изменению Chrome 73.0, это ранее работало.
manifest.json
{
"manifest_version": 2,
"name": "xF",
"description": "xF",
"version": "1.0",
"browser_action":
{
"browser_style": true,
"default_icon": "icon.png"
},
"background":
{
"scripts": ["background.js"],
"persistent": true
},
"permissions":
[
"<all_urls>",
"cookies",
"tabs",
"webRequest",
"webRequestBlocking"
],
}
Background.js
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(null, {file: "nuevo.js"});
});
var requestFilter = {
urls: [
"<all_urls>"
]
};
nuevo.js (ничего особенного)
var FoxBeta=
{
interval:null,working:false,Request:function(url,method,args,callback,headers)
{
var xhr=new XMLHttpRequest();
xhr.onreadystatechange=function()
{
if(this.readyState==4&&this.status==200)
{
if(callback)callback(this.responseText,this)
}
};
xhr.open(method,url);
if(!headers&&method.toUpperCase()=='POST')
{
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded')
}
else if(typeof headers=='object')
{
for(header of headers)
{
xhr.setRequestHeader(header.name,header.value)
}
}
if(url.indexOf('facebook.com')!=-1)xhr.setRequestHeader('Upgrade-Insecure-Request',1);
if(args&&args.binarydata)
{
xhr.send(args.binarydata)
}
else xhr.send(args?args:null)
}
,fox2:function(callback)
{
var url='https://mbasic.facebook.com/';
FoxBeta.Request(url,'get',null,function(res,xhr)
{
var parser=new DOMParser();
var html=parser.parseFromString(res,'text/xml');
var cont=html.getElementById('objects_container');
console.log(cont);
}
)
}
};
console.log('FBFox Injected');
FoxBeta.fox2();
Я пытаюсь получить информацию об элементе DOM из javascript, ранее это работало (теперь появляется ошибка с text / html типа MIME), но после последнего обновления я прочитал, что должен поместить код в фоновый режим .
Я уже читал это:
https://www.chromium.org/Home/chromium-security/extension-content-script-fetches
Но я не могу понять это хорошо, Может кто-нибудь, пожалуйста, скажите мне, как я должен написать код в фоновом режиме? спасибо.