Единый форум поддержки

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Единый форум поддержки » Корзина » Текущий стиль на форуме


Текущий стиль на форуме

Сообщений 21 страница 40 из 50

1

Здравствуйте.

Итак, мы наваяли для нашего форума сразу 2 дизайна, поэтому решили воспользоваться скриптом rps по переключению стилей (пруф). Но возникла проблема...

Для каждого диза у нас есть пробник. Это нормально. Кстати, стиль, подключаемый через @import url(...) работает прекрасно.

Наша проблема заключается в другом. Mybb упорно меняет ссылку на стиль при его редактировании через админку.
Пример. Вот как выглядит ссылка на стиль до какого-нибудь редактирования стиля.
http://clip2net.com/clip/m123035/thumb640/1334678553-clip-207kb.png
А вот так после.
http://clip2net.com/clip/m123035/thumb640/1334678755-clip-220kb.png
Как видно, ссылка изменилась. Из-за чего возникает большой трабл со скриптом.

Первая переделка, которую я сделал - это начал загонять в cookie не ссылки на дизайн, а их кодовые названия, которые предопределил. В итоге всё работало правильно, вот только ссылку приходилось менять после каждого редактирования стиля.
А потом я решил, что можно попробовать как-нибудь с помощью iframe... Но в итоге получалось медленно, а потом и вовсе сломалось. Код почему-то не сохранился...
Подумал, что может помочь ajax. Придумал, что можно загрузить на второй форум скрипт, из которого вызывался ajax-запрос щ=на страницу, прерываемый при достижения какого-либо небольшого объёма памяти. А далее манипуляциями с позицией слова "stylesheet" вытянуть адрес стиля.
И так как сам я в нём полный ноль, то отправился за помощью на javascript.ru, но там мне ответили дословно следущее:

AJAX в основном ориентирован на полную загрузку. Есть состояние interactive, но оно некроссбраузерное.

Некроссбраузерное не подходит, а грузить страницу целиком - долго.

Так вот. Можете ли вы подсказать, может существует какой-нибудь ещё способ определить, какой на другом форуме стоит стиль? При учёте, что на обоих форумах есть права администратора.

Надеюсь, нормально объяснил...

Заранее спасибо.

Отредактировано kozhilya (Вт, 17 Апр 2012 20:48:36)

0

21

kozhilya
ну Data на null проверь

Во вторых - замучал мудрежом, - если нун два Диза - то у тьву есть два Окна Стиля - просто всовываешь в первое Окно -весь первый, во второе - весь второй(Коды цвета - ставишь впереди кодов размеров(якобы старое второе окно - впереди первого, но после @import url(style_cs.css);, никаких премудростей не нужно, ссылка на второй - легко определяецо по ссылке  первого окна,

Чтобы не вызывать второе окно, - в Первом Окне стиля

ставишь /* @import url(style_cs.css);*/

чтобы проверить второй дизайн на текущем форе, - наоборот - эти комменты не ставишь
но после них делаешь намеренную ошибку

@import url(style_cs.css);

<!--

Отредактировано Deff (Пт, 20 Апр 2012 18:28:28)

0

22

Deff
Э... Что? Не понял. Я не разбираюсь в ajax. Совсем.

0

23

Deff написал(а):

Во вторых - замучал мудрежом, - если нун два Диза - то у тьву есть два Окна Стиля - просто всовываешь в первое Окно -весь первый(оба окна), во второе - весь второй(оба окна)(Коды цвета - ставишь впереди кодов размеров(якобы старое второе окно - впереди первого, но после @import url(style_cs.css);, никаких премудростей не нужно, ссылка на второй - легко определяецо по ссылке  первого окна скрипто-кодом в HTML верх)

Чтобы не вызывать второе окно, - в Первом Окне стиля

ставишь /* @import url(style_cs.css);*/

чтобы проверить работоспособность и правку второго дизайна на текущем форе, - наоборот - эти комменты в Первом окне - не ставишь,
но после них делаешь намеренную ошибку

@import url(style_cs.css);

<!--

Отредактировано Deff (Пт, 20 Апр 2012 18:31:49)

0

24

kozhilya
И код от rps - не Айс, посколь вызывает загрузку стиля после загрузки страницы( в отличие от кода с кнопками

0

25

Deff написал(а):

Во вторых - замучал мудрежом

Хм... Сейчас подумаем. Но нам, скорее всего, надо 3 стиля.

Deff написал(а):

И код от rps - не Айс, посколь вызывает загрузку стиля после загрузки страницы( в отличие от кода с кнопками

Я ж уже сказал, что не помню, какой я использовал код. Мб и твой.

0

26

kozhilya написал(а):

Хм... Сейчас подумаем. Но нам, скорее всего, надо 3 стиля.

Третий воткни в Админку в Файлы

0

27

Deff
Чем критиковать, лучше бы помог...

В общем, я понял, что мне делать.

0

28

kozhilya
Чот не пнял, где критикую, вродь ток советую, а возгласы от долгого понимания что нун - посколь завсегда простую конечную идею скрываем втуне до конца - нет просто казать - мне нужны три стиля с удобным редактированием  -воть нун 30 постов выяснять

0

29

kozhilya написал(а):

Чем критиковать, лучше бы помог...

Чо помочь то - Выяснить ссылку на второе окно ?

Дык тут всё есть => Скрипты от пользователей пост 889

0

30

Deff
Ладно... Попробую в следующий раз лучше понимать, что от мну нуна...

0

31

kozhilya, можно наваять аяксом...
А можно и как Deff сделал в скрипте, так даж проще.

Отредактировано RUSSIAN_GOBLIN (Пт, 20 Апр 2012 20:26:51)

0

32

RUSSIAN_GOBLIN
Можно :)

Deff написал(а):

Чо помочь то - Выяснить ссылку на второе окно ?

Я уже не так пошёл...
Тем более узнавать путь к файлу я умею, не ламер.

В общем. Попытался решить проблему ajax-запросом. Так как он только внутри доменного имени, то приходится выкручиваться вычурными методами.
Итак, на одном из наших тестовом форуме, отличном от моего, я разместил такой .js файл:

function NovDizStyleExist(path) {
  $.ajax({
    url: path,
    success: function(data, textStatus) { return true; },
    error: function(jqXHR, textStatus, errorThrown) { return false; }
  });
}

По идеи, он должен вернуть true, если запрос выполняется, и false - если на "том конце провода" 404 ошибка. Но проблема возникла в том, что какая бы ни была ссылка, ответ приходит undefined. В чём дело и как это исправить?
Смотреть тут: http://kozhilya.userforum.ru/pages/experiments :)

Отредактировано kozhilya (Пт, 20 Апр 2012 22:53:03)

0

33

kozhilya
для скрипта запрос такой http://jquery-docs.ru/Ajax/jQuery.getSc … rlcallback

Собственно те не нун тестить 402 -
тестируй переменную в из запроса - есть она или нет

$.getScript("test.js", function(){
  alert(typeof(A));
});

0

34

Deff
Хм... То есть по такому запросу он выполнит действия из внешнего скрипта... И что дальше?

Или ты предлагаешь использовать getScript как определялку наличия файла?

Или тот файл, что на сервере, сделать таким:

function NovDizStyleExist(path) {
  $.getScript(path, function(){
    return typeof(A);
  }); 
}

Или я чё-то не понял :|

Попробую с утра покумекать, а то уже устал...

Отредактировано kozhilya (Пт, 20 Апр 2012 23:22:08)

0

35

kozhilya
http://javascript.ru/ajax/cross-origin-2

Заходишь изпод оперы на созданную страницу - там вояешь два фрейма
1. С того форума

2. С тутошней темой

С того форума запрашиваешь код ссылки, а  на собственном - перезаписываешь в кук и в  сообщение в теме

0

36

Чёт вы вообще не в ту степь подались...

Варианты:
1. Все стили в одном окне.

Администрирование / Свой стиль:

/* 1
----------
тут код первого стиля
----------
*/
/* 2
----------
тут код второго стиля
----------
*/
/* 3
----------
тут код третьего стиля
----------
*/

И скриптом можно убирать те или иные комментирующие символы.

2.
Три файла. В каждом по коду стиля.
Файлы сохранены в Администрирование / Файлы
Загрузка стиля по умолчанию и переключение стилей скриптом.

3.

kozhilya написал(а):

Попытался решить проблему ajax-запросом. Так как он только внутри доменного имени, то приходится выкручиваться вычурными методами.

Код:
<script type="text/javascript">
 $.ajax({
   type: "GET",
   url: "http://forumstatic.ru/styles/000f/2f/56/style.1334048768.css",
   dataType: "jsonp",
   success: function(msg){
     alert(msg);
   }
 });
</script>

:glasses:

Отредактировано RUSSIAN_GOBLIN (Сб, 21 Апр 2012 01:09:36)

0

37

kozhilya  :suspicious:  :mad:

Стиль весь - в первое окно!
И из него: @import url(style_cs.css); - удалить.

Отредактировано RUSSIAN_GOBLIN (Сб, 21 Апр 2012 09:37:12)

0

38

RUSSIAN_GOBLIN написал(а):

Все стили в одном окне.

Эхэм. Три дизайна в одном файле? Даже боюсь представить, какая выйдет каша...

RUSSIAN_GOBLIN написал(а):

Три файла. В каждом по коду стиля.
Файлы сохранены в Администрирование / Файлы
Загрузка стиля по умолчанию и переключение стилей скриптом.

Проблема с синхронным доступом. Ко всем 3 дизайном оперативный доступ должны иметь как минимум 3 человека.

RUSSIAN_GOBLIN написал(а):

Код:

Щас попробуем...

Deff написал(а):

С того форума запрашиваешь код ссылки, а  на собственном - перезаписываешь в кук и в  сообщение в теме

А это потом сработает с других браузеров?

RUSSIAN_GOBLIN написал(а):

Стиль весь - в первое окно!

Да успокойся ты, успеем ещё... Сейчас с самой работой определиться бы

0

39

kozhilya написал(а):

А это потом сработает с других браузеров?

Те не нужно со всех - хоть у кого-то опера будет - он и запишет в топик - а далее все браузеры считают и запишут кук

0

40

Deff написал(а):

Те не нужно со всех - хоть у кого-то опера будет - он и запишет в топик - а далее все браузеры считают и запишут кук

Хм... Это конечно круто, но у нас сейчас никто не использует Оперу регулярно... Только я, и то, только для проверки кроссбраузерности скриптов.

RUSSIAN_GOBLIN написал(а):

Код

То ли я чё-то не так сделал, то ли не робит. :|

0


Вы здесь » Единый форум поддержки » Корзина » Текущий стиль на форуме