Gå til innhold

Flere eksterne css til samme side


Anbefalte innlegg

Videoannonse
Annonse

Det er lett ved bruk av php og cookies

 

<?php if (!isset($_COOKIE['css'])): ?>
   <link rel="stylesheet" href="path/to/default.css" />
<?php else: ?>
   <link rel="stylesheet" href="path/to/<?=$_COOKIE['css']?>.css" />
<?php endif; ?>

 

Så har du ganske enkelt en link i toppen hvor du setter disse cookiene:

 

<a href="/?style=alfa">alfa style</a>

 

<?php
if(isset($_GET['style'])){ set_cookie('css',$_GET['style']); }
?>

Lenke til kommentar

Jeg mener på at du må benytte enten javascript eller php for å oppnå et slikt resultat.

Ved bruk av javascript kan du til en viss grad la brukeren slippe å laste inn siden på nytt for å presentere et annet tema, mens ved bruk av php må brukeren laste inn siden på nytt...

 

Fra mitt perspektiv er det lettere å oppnå dette ved bruk av php og cookie:

 

index.php

<?php
#   Sjekker om cookien er satt, hvis ikke, så setter den en forhåndsdefinert verdi: default
if (!isset($_COOKIE['css'])){
	setcookie('css','default');
}
//
#   endrer cookiens verdi basert på spørrestrengen i nettleseren din
if(isset($_GET['css'])){
	setcookie('css',$_GET['css']);  //  http://php.net/manual/en/function.setcookie.php
}
//
?>
<!DOCTYPE html>
<html>
<head>
<!--  velger hvilken css-fil som skal brukes basert på cookiens verdi  -->
<link rel="stylesheet" href="path/to/<?=$_COOKIE['css']?>.css" />
</head>
</body>
<div id="css-styles">
<p>Velg din stil:</p>
<ul>
	<li><a href="/?css=Alfa">Alfa</a></li>
	<li><a href="/?css=Bravo">Bravo</a></li>
	<li><a href="/?css=Charlie">Charlie</a></li>
</ul>
</div>
</body>
</html>

 

OBS!

Verdien til cookien må i dette tilfelle ha samme navn som .css-fila di, uten .css endelsen...

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...