Ogłoszenie

Reklama ( Kliknij w celu pokazania zaprzyjaźnionych stron )

Skrypty ( Informacje dotyczące użytkowania )

Korzystanie ze skryptów zamieszczonych na stronie jest darmowe gdyż zostały wykonane przez autora strony bądź umieszczone przez ich autorów na stronie. Jedyny wymagany warunek użytkowania skryptu to wklejenie widocznego bannera w widocznym miejscu ( np. ogłoszenie ).
Wszelkie próby korzystanie z kodów i nie wklejenie reklamy wiążę się z wykluczeniem z forum jak i brak możliwości korzystania z kodów.
W przypadku skryptów zaawansowanych ( czyli mówiąc ściśle tych, które uznam za lepsze i wymagały większego nakładu pracy ) można z nich korzystać jeżeli dostaniecie zgodę ich twórcy.
Wszelkie próby skopiowania takowych kodów ze źródła strony itp. będą się wiązać z konsekwencjami prawnymi.

Współpraca ( Wymiana bannerem, kontakt itp. )

Jeżeli chcesz podjąć współprace z forum ( wymiana linkiem, buttonem, bannerem bądź inna forma nawiązania współpracy ) skontaktuj się na podany numer gg. Wszelkie inne rzeczy typu nie działający skrypt ( umieszczony w działach ze skryptami ) napisz w "Problemy i Pytania".
Inne formy nie będą w ogóle brane pod uwagę i będą zamykane.
Gadu-Gadu: 33117051

  • Index
  •  » CSS
  •  » [CSS]Wybór stylu (skórki) z poziomu strony głównej

#1 2011-12-01 21:56:24

ffox

Użytkownik

Zarejestrowany: 2011-09-30
Posty: 20
Punktów :   

[CSS]Wybór stylu (skórki) z poziomu strony głównej

Wstęp:
Witam,
Poniżej chciałbym przedstawić nie wielki skrypt, który umożliwi nam wybór przygotowanych przez nas szablonów CSS na naszym forum.

Cel skryptu: Możliwość zmiany wyglądu forum z poziomu strony głównej
Poziom trudności: Średni
Wymagania: Przynajmniej dwa pliki .css oraz serwer z możliwością ich magazynowania

Informacje czerpałem ze strony: http://www.kurshtml.edu.pl/skrypty/skorki.html

Przygotowanie:
W celu zaoszczędzenia miejsca na stopce lub ogłoszeniu na naszym forum, skopiuj poniższy kod do Notatnika i zapisz jako plik skins.js:

Kod:

/**
 * @author Sławomir Kokłowski {@link http://www.kurshtml.edu.pl}
 * @copyright NIE usuwaj tego komentarza! (Do NOT remove this comment!)
 */

function Skin(name, expires, path, message)
{
    this.expires = typeof expires != 'undefined' ? expires : 365;
    this.message = typeof message != 'undefined' ? message : 'Wymagana obsługa cookie';
    this.name = typeof name != 'undefined' ? name : 'skin';
    this.path = typeof path != 'undefined' ? path : '/';
    
    var link = null;
    var original = '';
    var css = '';
    
    this.get = function()
    {
        if (css != '') return css;
        var matches = document.cookie.match(new RegExp('(^|;\\s*)' + this.name + '=([^;]*)'));
        if (matches && matches.length == 3) css = matches[2];
        return css;
    }
    
    this.set = function(url)
    {
        document.cookie = this.name + '=' + url + (this.expires > 0 ? ';expires=' + new Date(new Date().getTime() + 86400000 * this.expires).toGMTString() : '') + ';path=' + this.path;
        css = url;
        if (this.message != '' && !navigator.cookieEnabled) window.alert(this.message);
        this.show();
    }
    
    this.reset = function()
    {
        css = '';
        document.cookie = this.name + '=;path=' + this.path;
        this.show();
    }
    
    this.show = function()
    {
        var url = this.get();
        if (url != '' || original != '')
        {
            if (link == null || original == '')
            {
                for (var i = 0; i < document.getElementsByTagName('link').length; i++)
                {
                    if (document.getElementsByTagName('link')[i].getAttribute('rel').toLowerCase() == 'stylesheet')
                    {
                        link = document.getElementsByTagName('link')[i];
                        original = link.getAttribute('href');
                        break;
                    }
                }
            }
            link.setAttribute('href', url != '' ? url : original);
        }
    }
    
    this.show();
}


var skin = new Skin();

Zapisany plik skopiuj na serwer tak, aby był pod łatwo dostępnym adresem, np. w lokalizacji: http://mojserwer.pl/skins.js
Oczywiście możemy cały skrypt wkleić bezpośrednio na forum (pomiędzy <script language="JavaScript" type="text/javascript">...</script>), ale odradzam ze względu na bałagan jaki powstanie.
Dodatkowo na serwer wrzucamy dwa pliczki .css, które będą służyły jako skórki

Plik 1 (domyślny): skin1.css

Kod:

body {background: #FFFFFF;}
#punwrap {background: #FFFFFF;}

Plik 2 (alternatywny): skin2.css

Kod:

@import url('http://www.mojeforum.pun.pl/style/Test9.css');

body {background: #000000 !important;}
#punwrap {background: #000000 !important;}

Przygotowane skórki będą na bazie stylu Test9, a więc w drugim pliku .css (alternatywnym) należy pamiętać o koniecznym dodaniu kodu @import url('http://www.mojeforum.pun.pl/style/Test9.css');.

Skórka pierwsza (podstawowa) będzie miała tło w kolorze białym, natomiast druga w kolorze czarnym.
Zwróć uwagę na atrybut !important (ważny), konieczny do wyświetlenia wybranego koloru.
Oba pliki podobnie jak skrypt skins.js, wrzucamy na serwer (przykładowa lokalizacja: http://mojserwer.pl/skin1.css oraz http://mojserwer.pl/skin2.css).

Menu wyboru:
Gdy mamy już wszystko przygotowane, zabieramy się za menu wyboru skórki.
Do stopki lub ogłoszenia na forum, wklej poniższy kod:

Kod:

<style type="text/css">
@import url('http://mojserwer.pl/skin1.css');
</style>

Do ogłoszenia wklej to:

Kod:

<link rel="Stylesheet" type="text/css" href="http://mojserwer.pl/skin1.css" />
<script type="text/javascript" charset="iso-8859-2" src="http://mojserwer.pl/skins.js"></script>
Wybierz motyw:
<a href="javascript:void(0)" onclick="skin.reset(); return false">Skórka 1</a> |
<a href="javascript:void(0)" onclick="skin.set('http://mojserwer.pl/skin2.css'); return false">Skórka 2</a>

Takim oto sposobem, w ogłoszeniu pojawi nam się napis "Wybierz motyw: Skórka 1 | Skórka 2" z możliwością dostosowania wyglądu do swojego gustu.
Oczywiście jest możliwość wykorzystania większej ilości skórek:

Kod:

<link rel="Stylesheet" type="text/css" href="http://mojserwer.pl/skin1.css" />
<script type="text/javascript" charset="iso-8859-2" src="http://wrocek.hostit.pl/temp/e2140/skins.js"></script>
Wybierz motyw:
<a href="javascript:void(0)" onclick="skin.reset(); return false">Skórka 1</a> |
<a href="javascript:void(0)" onclick="skin.set('http://mojserwer.pl/skin2.css'); return false">Skórka 2</a> |
<a href="javascript:void(0)" onclick="skin.set('http://mojserwer.pl/skin3.css'); return false">Skórka 3</a> |
<a href="javascript:void(0)" onclick="skin.set('http://mojserwer.pl/skin4.css'); return false">Skórka 4</a>

Należy tylko pamiętać o przygotowaniu wcześniej odpowiednich pliczków .css.

Zakończenie:
Ogromną zaletą skryptu jest to, że podczas poruszania się po forum, zachowany jest aktualnie wybrany przez nas motyw, dzięki czemu nie wraca za każdym razem po wejściu na forum/post do stylu domyślnego.
Aktualnie działa na wszystkich przeglądarkach, oprócz IE8 i niżej.

Prezentacja działania skryptu na stronie: http://www.earth2140.pun.pl
Forum jeszcze nie ukończone, ale zmiana stylu działa (chorągiewki z ikonami w logo ED i UCS).

Uwagi mile widziane.
Powodzenia.

Ostatnio edytowany przez ffox (2011-12-03 10:04:48)

Offline

 

#2 2011-12-02 14:18:57

ukaszf9

Administrator

Zarejestrowany: 2011-07-24
Posty: 335
Punktów :   23 
Test pole: 1

Re: [CSS]Wybór stylu (skórki) z poziomu strony głównej

Ja już się wypowiedziałem na temat skryptu i + za wpadnięcie na tak oryginalniej pomysł


http://codepunz.net63.net/img/codepunz1.png
Prosta, szybka przeglądarka skryptów umieszczonych na Noof'ie

Offline

 
  • Index
  •  » CSS
  •  » [CSS]Wybór stylu (skórki) z poziomu strony głównej

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.wildlifepark.pun.pl www.prywatnymetin2.pun.pl www.tasmy90label.pun.pl www.malaguti.pun.pl www.polskiziomserwer.pun.pl