Проблема в том, что область действия скрипта контента находится на веб-странице, на которой предполагается использовать ваш плагин.
Итак, CSS-фон: url (images / ui-bg_inset-hard_100_fcfdfd_1x100.png) становится
URL ( 'http://webpageforplugin/images/ui-bg_inset-hard_100_fcfdfd_1x100.png')
для того, чтобы это работало, насколько я понял, мне нужно, чтобы оно указывало на:
URL ( 'хром расширение: //extensionId/images/ui-bg_inset-hard_100_fcfdfd_1x100.png')
Итак, я попытался улучшить документ.styleSheets
var ss = document.styleSheets;
for (var i=0; i<ss.length; i++) {
var found=-1, x,i;
var rules = ss[i].cssRules || ss[i].rules;
for (var j=0; j<rules.length; j++) {
if ('.ui-helper-hidden'==rules[j].selectorText){
found=i;
break;
}
}
if (found>-1){
for (var j=0; j<rules.length; j++) {
if (x=rules[j].style.background){
if ((i=x.indexOf('url'))!=-1)
rules[j].style.background = x.replace('http://page/images/','chrome-extension://extensionId/images/');
}
}
break;
}
};
Мне кажется, я упускаю очевидное. Что должно быть проще.
Даже если мне удастся изменить это, как я получу идентификатор расширения для построения строки.
Кстати, это не работает, значки не выбираются должным образом. (Я жестко закодировал идентификатор расширения)
Есть идеи?