Avatar billede planetdb Nybegynder
16. november 2001 - 08:35 Der er 15 kommentarer og
1 løsning

Brageren skal kunne skifte font..!?

Jeg fandt et sted, hvor brugeren kunne ændre baggrundsfarve og fonttype på websiden. Jeg ville bare høre, om nogle herinde kunne hjælpe mig til kendskab af det nævnte script..?? :o)

//planetdb
Avatar billede planetdb Nybegynder
16. november 2001 - 08:35 #1
sorry, brageren=brugeren...
Avatar billede nute Nybegynder
16. november 2001 - 09:50 #2
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">

<html>
<head>
    <title>Untitled</title>
    <SCRIPT LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\">
  <!--
    ie = document.all?true:false;
    dom = document.getElementById?true:false;
    ns4 = document.layers?true:false;
   
  function changeFont( font ){
      if(!ns4){
          document.body.style.fontFamily=font;
        } 
    }
    function changeColor( col ){
      if(!ns4){
          document.body.style.backgroundColor=col;
        } 
    }
  //-->
  </SCRIPT>
</head>

<body>
Dette er en liten test

<form name=\"frm\">
<select name=\"fnt\" onchange=\"changeFont( this.options[ this.selectedIndex ].value );this.blur();\">
<option value=\"verdana\">verdana</option>
<option value=\"arial\">arial</option>
<option value=\"helvetica\">helvetica</option>
<option value=\"ms sans serif\">ms sans serif</option>
</select>
<br><br>
change color:<br>
<select name=\"col\" onchange=\"changeColor( this.options[ this.selectedIndex ].value );this.blur();\">
<option value=\"#E4E4E4\">grey</option>
<option value=\"#000000\">black</option>
<option value=\"#ffffff\">white</option>
<option value=\"red\">red</option>
</select>
</form>
</body>
</html>
Avatar billede planetdb Nybegynder
16. november 2001 - 10:01 #3
Det ser ud til at virker ganske fint. Men kan det modificeres således, at scriptet kun ændrer min font, når jeg markere noget tekst..??...undskyld hvis jeg er liiiidt krævende..:o)

ps. jeg behøver ikke at kunne ændre bgcolor...
Avatar billede nute Nybegynder
16. november 2001 - 10:12 #4
tja....hvis du leser litt på de links du fikk opplyst i http://www.eksperten.dk/spm/133846, så er det jo ikke så vanskelig å modifisere scriptet til:

  function changeFont( font ){
      if(!ns4){
          var sText = document.selection.createRange();
            if (!sText==\"\"){
                document.execCommand(\"FontName\", \"false\", font );
            }else{
            alert(\"Velg text!\");
            } 
        }
    }

/nute
Avatar billede planetdb Nybegynder
16. november 2001 - 10:23 #5
Så prøvede jeg dette, men det virker ikke rigtig:

<html>
<head>
    <title>Untitled</title>
    <SCRIPT LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\">
  <!--
  function changeFont( font ){
      if(!ns4){
          var sText = document.selection.createRange();
            if (!sText==\"\"){
                document.execCommand(\"FontName\", \"false\", font );
            }else{
            alert(\"Vælg font type!\");
            } 
        }
    }
  //-->
  </SCRIPT>
</head>

<body>
<div contenteditable=\"true\" style=\"width:500px;height:150px;border:1px inset #dedede\"></div>
<form name=\"font\">
<select name=\"fnt\" onchange=\"changeFont( this.options[ this.selectedIndex ].value

);this.blur();\">
<option value=\"verdana\">verdana</option>
<option value=\"arial\">arial</option>
<option value=\"helvetica\">helvetica</option>
<option value=\"ms sans serif\">ms sans serif</option>
</select>
<br><br>
</form>
</body>
</html>
Avatar billede olebole Juniormester
16. november 2001 - 10:36 #6
<ole>
Lav et ordentligt browsercheck. \'if(!ns4)\' er der ingen browser, der forstår ...det hedder \'if(!document.layers)\'.
Det har du bare ikke brug for, da det *kun* virker i IE, så brug i stedet:
  if (document.all)
/mvh
</bole>
Avatar billede nute Nybegynder
16. november 2001 - 10:43 #7
planetdb >> du skulle forsåvidt bare bytt ut den gamle \'changeFont\' funkdjonen med den siste jeg postet. Men nå har det seg jo sånn at jeg gjerne copy/pastet litt hurtig (som olebole så pikant poengterte),  så hvis jeg for lov til å brilliere med mine litt bedre copy/paste kunster, så kan man komme fram til dette resultat:

<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">

<html>
<head>
    <title>Untitled</title>
    <SCRIPT LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\">
  <!--
    ie = document.all?true:false;
    dom = document.getElementById?true:false;
    ns4 = document.layers?true:false;
   
  function changeFont( font ){
      if(document.all){
          var sText = document.selection.createRange();
            if (!sText==\"\"){
                document.execCommand(\"FontName\", \"false\", font );
            }else{
            alert(\"Velg text!\");
            } 
        }
    } 
   
    function changeColor( col ){
      if(!ns4){
          document.body.style.backgroundColor=col;
        } 
    }
  //-->
  </SCRIPT>
</head>

<body>
Dette er en liten test

<form name=\"frm\">
<select name=\"fnt\" onchange=\"changeFont( this.options[ this.selectedIndex ].value );this.blur();\">
<option value=\"verdana\">verdana</option>
<option value=\"arial\">arial</option>
<option value=\"helvetica\">helvetica</option>
<option value=\"ms sans serif\">ms sans serif</option>
</select>
<br><br>
change color:<br>
<select name=\"col\" onchange=\"changeColor( this.options[ this.selectedIndex ].value );this.blur();\">
<option value=\"#E4E4E4\">grey</option>
<option value=\"#000000\">black</option>
<option value=\"#ffffff\">white</option>
<option value=\"red\">red</option>
</select>
</form>
</body>
</html>

/nute
Avatar billede nute Nybegynder
16. november 2001 - 10:47 #8
tja...så kan vi korrigere *enda* litt mer..

bytt ut denne linje:

if (!sText==\"\"){
               
med denne:

if (!sText.text==\"\"){

/nute
Avatar billede olebole Juniormester
16. november 2001 - 10:51 #9
...og hvis jeg nu *skal* genere vores kære terrorist af anden etnisk oprindelse (og det skal jeg vel...hehe), så kan man her bruge:

  function changeFont( font ){
      if(ie){

...ikke en fejl, blot en lille fiks detalje  ;o)
/mvh
Avatar billede nute Nybegynder
16. november 2001 - 10:53 #10
GGRRRRR !!!!!!

;-)
Avatar billede olebole Juniormester
16. november 2001 - 10:58 #11
SÅ TAK...!!!  Nu skal jeg til have breve med pulveriseret myseost ...DAMNED...!!!  =oD
Avatar billede nute Nybegynder
16. november 2001 - 11:09 #12
LOL
Avatar billede planetdb Nybegynder
16. november 2001 - 11:17 #13
Mange tak for hjælpen nute! :o) Point=velfortjent!...men håber du kan hjælpe med én sidste ting. Hvad er der galt med denne kode??:

<html>
<head>

<SCRIPT LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\">
  <!--
    ie = document.all?true:false;
    dom = document.getElementById?true:false;
    ns4 = document.layers?true:false;
   
  function changeFont( font ){
      if(document.all){
          var sText = document.selection.createRange();
            if (!sText==\"\"){
                document.execCommand(\"FontName\", \"false\", font );
            }else{
            alert(\"Vælg fonttype!\");
            } 
        }
    } 
   
  function changeSize( size ){
      if(document.all){
          var sText = document.selection.createRange();
            if (!sText==\"\"){
                document.execCommand(\"FontSize\", \"false\", size );
            }else{
            alert(\"Vælg skriftstørrelse!\");
            } 
        }
    } 
  //-->
  </SCRIPT></head><body>

<div contenteditable=\"true\" style=\"width:500px;height:150px;border:1px inset #dedede\"></div>

<form name=\"frm\">
<select name=\"fnt\" onchange=\"changeFont( this.options[ this.selectedIndex ].value );this.blur();\">
<option value=\"verdana\">verdana</option>
<option value=\"arial\">arial</option>
<option value=\"helvetica\">helvetica</option>
<option value=\"ms sans serif\">ms sans serif</option>
</select><br><br>
change size:<br>
<select name=\"sze\" onchange=\"changeSize( this.options[ this.selectedIndex ].value );this.blur();\">
<option value=\"1px\">1</option>
<option value=\"2px\">2</option>
<option value=\"3px\">3</option>
<option value=\"4px\">4</option>
</select>

</body>
</html>
Avatar billede nute Nybegynder
16. november 2001 - 11:21 #14
den fungerer ikke :-D :-D

fjern \'px\' angivelsen bak tall som skal angi størrelse...

/nute
Avatar billede planetdb Nybegynder
16. november 2001 - 11:31 #15
Kult nok...!! Er ellers ved at \"fange\" det nu..tror jeg?! Mange gange tak for hjælpen igen..:o)
Avatar billede nute Nybegynder
16. november 2001 - 11:35 #16
anytime :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester