У меня возникли проблемы с получением значений запроса скрипта содержимого из моего фонового сценария.Chrome Extension - sendRequest slow
content_script.js
=================
var elements = undefined
var properties = undefined
var targets = undefined
chrome.extension.sendRequest({greeting: "elements"}, function(response) {
elements = response.input;
});
if (elements == undefined){
var elements = ["a","img"];
}else{
elements = elements.split(',');
}
chrome.extension.sendRequest({greeting: "properties"}, function(response) {
properties = response.input;
});
if (properties == undefined){
var properties = ["alt","id","class"];
}else{
properties = properties.split(',');
}
chrome.extension.sendRequest({greeting: "targets"}, function(response) {
targets = response.input;
});
if (targets == undefined){
var targets = ["onclick","href"];
}else{
targets = targets.split(',');
}...
...More code and references to elements following...
Приведенный выше код работает только тогда, когда есть перерыв в коде (т.е. ожидания), прежде чем делать какие-либо относящиеся к значениям, установленным выше, я полагаю, я мог бы поставить что-то сделать это, но я предпочел бы использовать более эффективное решение, если это возможно.
(для справки :)
background.js
=============
chrome.extension.onRequest.addListener(
function(request, sender, sendResponse) {
switch (request.greeting){
case "elements":
var elements = localStorage["elements"];
sendResponse({input: elements});
break;
case "properties":
var properties = localStorage["properties"];
sendResponse({input: properties});
break;
case "targets":
var targets = localStorage["targets"];
sendResponse({input: targets});
break;
}
});
Я был на этом в течение 3 часов (все еще учится, что я делаю с JS)
Его 1 утра, и я собираюсь спать, завтра просмотрит ответы. – Static128