Avatar billede den-evil Nybegynder
18. maj 2010 - 11:07 Der er 14 kommentarer og
1 løsning

udskriv random number?

Undrer mig lidt over den ikke udskriver randomnumber i dette: <!--@TemplateParagraph"+randomnumber+"--> ?


<div id="col1narrowfront">    <script type="text/javascript">    antal = 4;        var randomnumber=Math.floor(Math.random()*antal)        document.write("<!--@TemplateParagraph"+randomnumber+"-->");alert("<!--@TemplateParagraph+randomnumber+-->");    </script></div>
Avatar billede olebole Juniormester
18. maj 2010 - 11:18 #1
<ole>

Hvad gør 'den' da?

/mvh
</bole>
Avatar billede den-evil Nybegynder
18. maj 2010 - 11:20 #2
Den skal udskrive noget som fx: <!--@TemplateParagraph1-->
Avatar billede jokkejensen Novice
18. maj 2010 - 11:21 #3
Jeg tror ikke du dynamisk kan kalde templates i dynamic web, eller hvad det der CMS måtte være med javascript - det er noget hokus pokus der sker på serveren.

Du skal asynkront hente indholdet af den paragraf så.

/J
Avatar billede jokkejensen Novice
18. maj 2010 - 11:23 #4
altså <!-- --> tagsene bliver renderet først på serveren, og først når klienten henter markup, udføres dit JS. Derfor kender den ikke til syntaxen, men udskriver sikkert blot den kommentar.
Avatar billede olebole Juniormester
18. maj 2010 - 11:23 #5
Der skrives ud, hvad du forventer - men du kan ikke bruge det, som du forventer. Prøv f.eks:

<div id="col1narrowfront">
<script type="text/javascript">
antal = 4;
var randomnumber=Math.floor(Math.random()*antal)
document.write("<!--@TemplateParagraph"+randomnumber+"-->");alert("<!--@TemplateParagraph+randomnumber+-->");
</script>
</div>

<script type="text/javascript">
alert(document.getElementById("col1narrowfront").innerHTML)
</script>
Avatar billede jokkejensen Novice
18. maj 2010 - 11:43 #6
ja, men jeg tror ikke det lykkedes ham.

Dynamic web, som det ligner, bruger html kommentarer til at indsætte renderet markup nærmest som placeholders.

I den rendering bliver javascriptet ikke afviklet, det skal altså være en indbygget funktionalitet i kommentar syntaxen.

Og som altid er Dynamic Webs dokumentation for deres produkter 100% mangelfuld, og proppet med hidden features som kun selv få fra deres support / udviklingsteam kender til.

http://templates.dynamicweb.dk/

Ring ind til dem og sig du skal bruge en tilfældig template, så har de sikkert en løsning, det kan ikke være første gang de støder på den.
Avatar billede olebole Juniormester
18. maj 2010 - 11:46 #7
Præcis, som jeg skrev hr. Jensen  ;o)

"Der skrives ud, hvad du forventer - men du kan ikke bruge det, som du forventer."
Avatar billede den-evil Nybegynder
18. maj 2010 - 12:31 #8
Ok, har nu prøvet at konvertere det til xslt i stedet, men kan sq stadig ik få det til at spille:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
    <xsl:output method="html" omit-xml-declaration="yes" indent="yes"  encoding="utf-8" />
    <xsl:param name="html-content-type" />
    <xsl:template match="/Template">
    <div id="col1narrowfront">
    <script type="text/javascript">
        antal = 4;
        var randomnumber=Math.floor(Math.random()*antal);
        alert(randomnumber);
        if(randomnumber = 1) {
    </script>   
    1<xsl:value-of select="TemplateParagraph1" disable-output-escaping="yes"/>
    <script type="text/javascript">
    }
    if(randomnumber = 2) {
    </script>
    2<xsl:value-of select="TemplateParagraph2" disable-output-escaping="yes"/>
    <script type="text/javascript">
    }
    </script>
    <script type="text/javascript">
    }
    if(randomnumber = 3) {
    </script>
    3<xsl:value-of select="TemplateParagraph3" disable-output-escaping="yes"/>
    <script type="text/javascript">
    }
    </script>
    <script type="text/javascript">
    }
    if(randomnumber = 4) {
    </script>
    4<xsl:value-of select="TemplateParagraph4" disable-output-escaping="yes"/>
    <script type="text/javascript">
    }
    </script>
    <textarea><xsl:value-of select="." /></textarea>
    </div>

    </xsl:template>
</xsl:stylesheet>
Avatar billede den-evil Nybegynder
18. maj 2010 - 12:33 #9
Den udskriver <xsl:value-of select="TemplateParagraphX" />
Avatar billede jokkejensen Novice
18. maj 2010 - 12:39 #10
wtf :)

Tror det er bedre at lave noget ala:

<div id="para1" style="display:none">
<xsl:value-of select="TemplateParagraph1" />
</div>

<div id="para2" style="display:none;">
<xsl:value-of select="TemplateParagraph1" />
</div>

<div id="para3" style="display:none;">
<xsl:value-of select="TemplateParagraph1" />
</div>

<div id="para4" style="display:none;">
<xsl:value-of select="TemplateParagraph1" />
</div>

<js>
//Vis tilfældigt div, med style objectet.
</js>

Det vil fodre søgemaskiner, og for nogle, give mere overskuelig kode.
Avatar billede den-evil Nybegynder
18. maj 2010 - 13:12 #11
Det virker som en fin løsning, og er nu fikset - Dog udskriver den også html tags, såsom <p>?

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
    <xsl:output method="html" omit-xml-declaration="yes" indent="yes"  encoding="utf-8" />
    <xsl:param name="html-content-type" />
    <xsl:template match="/Template">
    <div id="cust_col2">
    <div id="para1" style="display:none">
        <xsl:value-of select="TemplateParagraph1" />
    </div>
   
    <div id="para2" style="display:none;">
        <xsl:value-of select="TemplateParagraph2" />
    </div>
   
    <div id="para3" style="display:none;">
        <xsl:value-of select="TemplateParagraph3" />
    </div>
   
    <div id="para4" style="display:none;">
        <xsl:value-of select="TemplateParagraph4" />
    </div>

    <script type="text/javascript">
    //Vis tilf?ldigt div, med style objectet.
    antal = 4;
    var randomnumber=Math.floor(Math.random()*antal);
    document.getElementById("para"+randomnumber+"").style.display = 'block';
    </script>
    <!--<textarea><xsl:copy-of select="." /></textarea>-->
    </div>

    </xsl:template>
</xsl:stylesheet>
Avatar billede den-evil Nybegynder
18. maj 2010 - 13:21 #12
Min fejl, manglede disable-output-escaping="yes" ...

Ligger du svar?
Avatar billede jokkejensen Novice
18. maj 2010 - 13:25 #13
... Ja din template er jo en rich text editor, hvorfor man må formode der kan være markup ? ellers kan du vel bare tage en:

<xsl:value-of select="normalize-space(TemplateParagraph1)" /> (formoder at TemplateParagraph1 er et nodeset)

Den skulle gerne samtidigt æde tags, osv.

/J
Avatar billede jokkejensen Novice
18. maj 2010 - 13:25 #14
nåå så er jeg med :)
Avatar billede jokkejensen Novice
18. maj 2010 - 15:09 #15
takker !
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