Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.03.2015, 21:00
Интересующийся
Отправить личное сообщение для telekomstoy Посмотреть профиль Найти все сообщения от telekomstoy
 
Регистрация: 02.01.2015
Сообщений: 13

Подключение разных стилей
Здравствуйте. Такая ситуация:
Для страницы нужно подключать разные стили, в зависимости от профиля пользователя. На самой странице подключаю стили таким образом:

<link type="text/css" href="http://site.ru/test.php/?profile=%PROFILE%" rel="stylesheet" media="all">


%PROFILE% - возвращает id пользователя.

Соответственно, на php-скрипт отправляется id, скрипт отдаёт нужные стили.

Конструкция работает в хроме (и, думаю, во всех web-kit'овских браузерах). А вот в не web-kit'овской опере, лисе и ие стили не цепляются.

В чём может быть проблема?
Ответить с цитированием
  #2 (permalink)  
Старый 31.03.2015, 08:34
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от telekomstoy
В чём может быть проблема?
Смотря что ты там тем ПХП намастыриваешь...
Ответить с цитированием
  #3 (permalink)  
Старый 31.03.2015, 12:30
Интересующийся
Отправить личное сообщение для telekomstoy Посмотреть профиль Найти все сообщения от telekomstoy
 
Регистрация: 02.01.2015
Сообщений: 13

Сообщение от ksa Посмотреть сообщение
Смотря что ты там тем ПХП намастыриваешь...
Скрипт, учитывая переданный параметр, возвращает строку с испортом нужного файла стилей
@import url('style.css');
Ответить с цитированием
  #4 (permalink)  
Старый 31.03.2015, 13:34
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от telekomstoy Посмотреть сообщение
Скрипт, учитывая переданный параметр, возвращает строку с испортом нужного файла стилей
@import url('style.css');
Согласно этой статейки все поддерживается современными браузерами...
Ответить с цитированием
  #5 (permalink)  
Старый 31.03.2015, 13:51
Интересующийся
Отправить личное сообщение для telekomstoy Посмотреть профиль Найти все сообщения от telekomstoy
 
Регистрация: 02.01.2015
Сообщений: 13

Сообщение от ksa Посмотреть сообщение
Согласно этой статейки все поддерживается современными браузерами...
В том то и дело. Вроде как поддерживается всё, а на практике где-то есть косяк. Всемогущий гугл как-то тоже не особо кишит знаниями по этому вопросу.

Пытался найти ответ на вопрос, не лагают ли браузеры с файлом стиле в формате php - тоже что-то ничего не нашёл.
Ответить с цитированием
  #6 (permalink)  
Старый 31.03.2015, 14:03
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от telekomstoy
на практике где-то есть косяк
Делай тестовый пример (простой и полный) выкладывай сюда...
Ответить с цитированием
  #7 (permalink)  
Старый 01.04.2015, 00:16
Интересующийся
Отправить личное сообщение для telekomstoy Посмотреть профиль Найти все сообщения от telekomstoy
 
Регистрация: 02.01.2015
Сообщений: 13

Там и нет практически ничего. Файл php:

<?php
$profile = $_GET['profile'];

if ($profile == '2') {echo 'import url("style1.css")';}
elseif ($profile == '4') {echo 'import url("style4.css")';}
elseif ($profile == '50') {echo 'import url("style3.css")';}
else  {echo 'import url("style.css")';}
?>


Подключение уже написал выше

Последний раз редактировалось telekomstoy, 01.04.2015 в 00:20.
Ответить с цитированием
  #8 (permalink)  
Старый 01.04.2015, 03:01
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

switch ($_GET['profile']) {
    case 2:
        $style = 'style1.css';
        break;
    case 4:
        $style = 'style4.css';
        break;
    case 50:
        $style = 'style3.css';
        break;
    default:
        $style = 'style.css';
        break;
}

<link type="text/css" href="<?php echo $style;?>" rel="stylesheet" media="all">
Ответить с цитированием
  #9 (permalink)  
Старый 01.04.2015, 04:33
Интересующийся
Отправить личное сообщение для telekomstoy Посмотреть профиль Найти все сообщения от telekomstoy
 
Регистрация: 02.01.2015
Сообщений: 13

Сообщение от Poznakomlus Посмотреть сообщение
switch ($_GET['profile']) {
    case 2:
        $style = 'style1.css';
        break;
    case 4:
        $style = 'style4.css';
        break;
    case 50:
        $style = 'style3.css';
        break;
    default:
        $style = 'style.css';
        break;
}

<link type="text/css" href="<?php echo $style;?>" rel="stylesheet" media="all">
К сожалению, данный метод не подходит, т.к. на сервере, на котором лежит страница, нет возможности использовать php.
Ответить с цитированием
  #10 (permalink)  
Старый 01.04.2015, 07:12
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Сообщение от telekomstoy Посмотреть сообщение
Там и нет практически ничего. Файл php:

<?php
$profile = $_GET['profile'];

if ($profile == '2') {echo 'import url("style1.css")';}
elseif ($profile == '4') {echo 'import url("style4.css")';}
elseif ($profile == '50') {echo 'import url("style3.css")';}
else  {echo 'import url("style.css")';}
?>
Во-первых, где собака перед import? А, во-вторых, пропиши header('Content-Type: text/css'); в начало скрипта, чтобы правильный MIME-тип был. Ну и току с запятой после закрывающей скобки для url надо поставить. В общем, как-то так:
<?php
header('Content-Type: text/css');
$profile = $_GET['profile'];

if ($profile == '2') {echo '@import url("style1.css");';}
elseif ($profile == '4') {echo '@import url("style4.css");';}
elseif ($profile == '50') {echo '@import url("style3.css");';}
else  {echo '@import url("style.css");';}
?>

Последний раз редактировалось jsnb, 01.04.2015 в 07:28.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое подключение стилей и скриптов Marv Events/DOM/Window 5 17.10.2013 13:58
Шаблон сброса стандартных стилей Olegich (X)HTML/CSS 14 13.09.2013 18:47
Динамическое применение стилей к элементу и их отмена Amphiluke Events/DOM/Window 10 26.11.2012 22:33
как использовать next() на разных уровнях, помогите. filomax jQuery 2 09.10.2011 04:15
Изменение путей к таблицам стилей и скриптам в скрипете галереи lightbox 2.04 Flashton Элементы интерфейса 1 01.02.2010 10:10