Проблема состоит в том, что объем сценария содержания находится на веб-странице, которая Ваш плагин, предполагают, чтобы использоваться в.
Таким образом, CSS background:url (images/ui-bg_inset-hard_100_fcfdfd_1x100.png) становится URL ('http://webpageforplugin/images/ui-bg_inset-hard_100_fcfdfd_1x100.png') для этого для работы насколько я понял, что у меня должен быть он для указания на: URL ('хром-extension://extensionId/images/ui-bg_inset-hard_100_fcfdfd_1x100.png')
Таким образом, я попробовал к haxorz document.styleSheets
var ss = document.styleSheets;
for (var i=0; i-1){
for (var j=0; j
Я чувствую, что пропускаю очевидное. То, что должен быть более легкий путь.
Даже если мне удается изменить это, как я заставлю дополнительный идентификатор создавать строку.
Btw это не работает, значки, правильно не выбираются. (Я hardcoded дополнительный идентификатор)
Какие-либо идеи?
В настоящее время у меня есть это: (jquery-ui-content.hack.js)
$(function(){
function fixcsspath(rules, folder){
var path_prefix = chrome.extension.getURL('');
var lookfor = 'url(';
var ss = document.styleSheets;
for (var j=0; j<rules.length; j++) {
var b = rules[j].style['background-image'];
var s;
if (b && (s = b.indexOf(lookfor)) >= 0 ){
s = s + lookfor.length;
rules[j].style['background-image'] = b.replace(b.substr(s,b.indexOf(folder)-s), path_prefix);
}
}
};
var ss = document.styleSheets;
for (var i=0; i<ss.length; i++) {
var rules = ss[i].rules || ss[i].cssRules;
if (rules[0].selectorText!="#chrome-extention-relative-paths")
continue;
fixcsspath(ss[i].rules, '/images/');
}
});
И я просто поместил это в первую строку каждого css, которому это нужно
#chrome-extention-relative-paths {}
ВНИМАНИЕ это работает только для background-image urls, что является всем, что требуется для jquery ui
Кажется, мне удалось получить предварительное решение этой проблемы, хотя оно не самое лучшее, но работает ;-)
По сути, он заключается в редактировании jquery-ui-1.8.1.custom.css темы jQueryUI и замене всех вхождений конструкции url () с использованием относительных путей на абсолютные онлайн-пути. Например, замените url (images / ui-bg_highlight-soft_100_eeeeee_1x100.png) на url ( http://jquery-ui.googlecode.com/svn/tags/1.8.1/themes/ui- lightness / images / ui-bg_highlight-soft_100_eeeeee_1x100.png ) "с использованием файлов с сайта подрывной версии jQueryUI. Как видите, вам нужно только поставить впереди " http://jquery-ui.googlecode.com/svn/tags/1.8.1/themes/ui-lightness/ " с учетом конкретная тема, которую вы используете или хотите использовать (в данном случае "ui-lightness").
Если я найду лучшее решение, я дам вам знать. Пожалуйста, сделайте то же самое; -)
Best,
Germán.