Динамические URL в CSS / JS

Это может произойти при попытке установить APK отладки / без знака поверх подписанного APK выпуска из магазина Play.

H:\>adb install -r "Signed.apk"
2909 KB/s (220439 bytes in 0.074s)
        pkg: /data/local/tmp/Signed.apk
Success

H:\>adb install -r "AppName.apk"
2753 KB/s (219954 bytes in 0.078s)
        pkg: /data/local/tmp/AppName.apk
Failure [INSTALL_FAILED_VERSION_DOWNGRADE]

Решение для этого - удалить , а затем повторно установите или повторно запустите его из среды IDE.

13
задан Marc Gravell 14 May 2009 в 12:55
поделиться

8 ответов

Используйте относительные пути, а не абсолютные пути. Находясь внутри файла CSS, путь указывается относительно файла CSS, а не страницы HTML.

Если ваш файл CSS находится здесь

http://cdn.example.com/css/style.css

А ваш класс -

.cool-button { background-image: url('../images/button.png'); }

, тогда браузер попытается загрузить изображение из

http://cdn.example.com/images/button.png
23
ответ дан 1 December 2019 в 19:41
поделиться

Просто использовать URL-адреса, относящиеся к домену?

.cool-button { background-image: url('/images/button.png'); }

Тогда браузер будет искать под текущим доменом.

5
ответ дан 1 December 2019 в 19:41
поделиться

Вы также можете запустить процесс сборки и использовать шаблоны для создания файлов, специфичных для среды

, например, в файле с именем yoursite.template.css

.cool-button {background-image: url ('@@ URL @ @ / images / button.png'); }

создайте файл yoursite.css, а затем замените @@ URL @ @ нужным доменом.

2
ответ дан 1 December 2019 в 19:41
поделиться

Я буквально только что работал сегодня над тем же, и вот что я придумал.

Вставьте это в файл .htaccess в корне вашего сайта. Очевидно, это зависит от Apache и Mod_rewrite.

RewriteEngine on
RewriteBase /

# Redirect content to the CDN

RewriteCond %{HTTP_HOST} !^cdn\.server\.com$    [NC]
RewriteRule .*\.(jpg|gif|png|flv|css|js|swf)$   http://cdn.server.com/$0    [R=301,L]

Это будет отправлять запросы для типов файлов, указанных в скобках, на ваш cdn и сохранять запросы для других типов на вашем основном сервере.

1
ответ дан 1 December 2019 в 19:41
поделиться

Если сервер такой же, вы можете использовать относительные пути. Например /http/blah/test/images/button.png или ../images/button.png

0
ответ дан 1 December 2019 в 19:41
поделиться

При использовании относительных URL-адресов вы можете принудительно указать «базовый» URL-адрес. В теге используйте . Тогда каждая относительная ссылка «/style.css» будет указывать на « http://cdn-dev.example.com/style.css »

Для справки: http: // www.w3schools.com/TAGS/tag_base.asp[1250 impression

0
ответ дан 1 December 2019 в 19:41
поделиться

Ну ... решение, которое я придумал, было ... вроде ... хакерским, уродливым и тупым. Но, черт возьми, это сработало:

<?php
    if ($_SERVER['SERVER_NAME'] == "www.domain.tld") {

        $incs_path  = "/usr/local/psa/home/vhosts/domain.tld/non-web-root-folder/private-files";

    }
    else {
        $incs_path  = "incs";
    }

require_once "$incs_path/$file-to-be-called.inc";

?>

Это, как уже отмечалось, взломано и некрасиво, и его можно было бы сделать гораздо красивее. Но, по крайней мере, он позволяет вам определять определенные местоположения для определенных групп файлов в зависимости от хоста.

0
ответ дан 1 December 2019 в 19:41
поделиться

В зависимости от конфигурации вашего сервера, вы также можете добавить расширение .php к своим именам файлов и обработать их также как скрипты PHP:

I.E.: style.css.php would contain:

.cool-button { background-image url(<?php echo $bgImgUrl;?>); }

Это также работает для файлов JavaScript.

2
ответ дан 1 December 2019 в 19:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: