Avatar billede bdf Mester
30. januar 2007 - 20:23 Der er 23 kommentarer og
1 løsning

Vidresende besøgende?

Hejsa Eksperter :)

Efter denne script kode har kørt 1 gang, vil jeg gerne have den til at vidresende den besøgende til en anden adresse/htm doc.
Hvordan får jeg den lige til det?

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Velkommen til Hold 6.5s Hjemmeside</title>

<xml:namespace ns="urn:schemas-microsoft-com:vml" prefix="v"/>
<style type="text/css">
v\:* { behavior: url(#default#VML); }
</style>

</head>

<body>


<script type="text/javascript">


// Add as many messages as you like
var message=new Array("Velkommen til", "Hold 6.5s Hjemmeside")

// Set the outline-color. Add as many colors as you like
var outlinecolor=new Array("Blue", "Blue")

// Set fillcolors 1. Add as many colors as you like
var fillcolor1=new Array("White", "White")

// Set fillcolors 2. Add as many colors as you like
var fillcolor2=new Array("White", "Blue")

// Set the letter marking the circle
var circlemark=new Array("-----")

// Set the width of the outline
var strkweight=1

// Set the waiting time between the messages (seconds)
var pause=3

// Set the strength of the opacity (transparency of letters)
var strengthopacity="10%"

// Set the size of the circle (values range from 0.1 to 1)
var circlesize=0.5

// Always keep messages in view even if page is scrolled? (DD added option)
var keepinview="yes"

// Do not edit below this line

mytruebody=(!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body //Dynamicdrive added object

var outerwidth=mytruebody.clientWidth
var outerheight=mytruebody.clientHeight

var innerwidth=Math.floor(circlesize*outerwidth)
var innerheight=Math.floor(circlesize*outerheight)

var posleft=(outerwidth-innerwidth)/2
var postop=(outerheight-innerheight)/2

var path=new Array()
var i_message=0
var i_outlinecolor=0
var i_fillcolor1=0
var i_fillcolor2=0
var i_messagelength=0
var longestmessage=0
pause*=1000

var ie=document.getElementById&&document.all?1:0

for (i=0;i<=message.length-1;i++) {
    if (message[i].length>longestmessage) {
        longestmessage=message[i].length
    }
    longestmessage+=4
}

for (i=0;i<=message.length-1;i++) {

    var emptyspace=""
    var i_emptyspace=(longestmessage-message[i].length)/2
    for (ii=0;ii<=i_emptyspace;ii++) {
        emptyspace+=circlemark
    }
    message[i]=emptyspace+" "+message[i]+" "+emptyspace
}

function changeform() {
    if (keepinview=="yes") //DD added
    document.getElementById("roofid").style.top=mytruebody.scrollTop //DD added
    if (i_outlinecolor >= outlinecolor.length) {i_outlinecolor=0}
    if (i_fillcolor1 >= fillcolor1.length) {i_fillcolor1=0}
    if (i_fillcolor2 >= fillcolor2.length) {i_fillcolor2=0}
    document.getElementById('strokeid').color=outlinecolor[i_outlinecolor]
    document.getElementById('fillid').color=fillcolor1[i_fillcolor1]
    document.getElementById('fillid').color2=fillcolor2[i_fillcolor2]
    if (i_message < message.length) {tick()}
    else {document.getElementById('textpathid').string=""
    document.getElementById("roofid").style.display="none" //DD added
    }
}

function tick() {
    if (i_messagelength <= message[i_message].length) {
        var messagestringend=""
        var messagestring=message[i_message].substring(0, i_messagelength)+messagestringend
        document.getElementById('textpathid').string=messagestring
        var timer=setTimeout("tick()",50)
        i_messagelength++
    }
    else {
        clearTimeout(timer)
        i_messagelength=0
        i_message++
        i_outlinecolor++   
        i_fillcolor1++   
        i_fillcolor2++   
        var timer=setTimeout("changeform()",pause)
    }
   
}

if (ie) {
    document.write('<div id="roofid" style="position:absolute;left:0px;top:0px;width:'+outerwidth+'px;height:'+outerheight+'px;overflow:hidden;">')
    document.write('<v:oval id="tc" style="position:absolute;top:'+postop+'px;left:'+posleft+'px;width:'+innerwidth+'px;height:'+innerheight+'px">')
    document.write('<v:shadow on="t" opacity="'+strengthopacity+'"/>')
    document.write('<v:stroke id="strokeid" weight="'+strkweight+'pt" color="blue"/>')
    document.write('<v:fill id="fillid" on="True" color="'+fillcolor1[0]+'" color2="'+fillcolor2[0]+'" opacity="'+strengthopacity+'" opacity2="'+strengthopacity+'" type="gradient"/>')
    document.write('<v:path textpathok="t"/>')
    document.write('<v:textpath id="textpathid" on="t" id="mytp" style="font-family:\'Arial Black\'; " fitpath="t" string=""/>')
    document.write('</v:oval></div>')
    if (window.attachEvent) //DD added code
    window.attachEvent("onload", changeform) //DD added code
    else
    window.onload=changeform

}
</script>

</body>

</html>


M.v.h. RoOberT
Avatar billede loevgaard Praktikant
30. januar 2007 - 22:08 #1
Din kode er temmelig lang, så har ikke lige læst den, men
document.location.href = 'http://www.google.com' sender brugeren til google.com, så kan du putte den ind et sted :)
Avatar billede bdf Mester
31. januar 2007 - 06:37 #2
Synes ikke lige at jeg kan få det til at virke, hvor skal koden ca ind henne? :)
Avatar billede bdf Mester
31. januar 2007 - 18:18 #3
Virkelig ingen son kan hjælpe? nu er jeg ikke så stærk i scripts og det jeg har prøvet har ikke virket indtil videre :(

Jeg har prøvet følgende mellem <head> & </head>
<meta HTTP-EQUIV="REFRESH" CONTENT="5; URL=Galleri.htm"> og skrev 5 sek ind pga det er ca den tid scriptet er om at køre igennem men dette linie hjælper altså ikke :(
Avatar billede mcgoat Nybegynder
31. januar 2007 - 18:29 #4
function tick() {
    if (i_messagelength <= message[i_message].length) {
        var messagestringend=""
        var messagestring=message[i_message].substring(0, i_messagelength)+messagestringend
        document.getElementById('textpathid').string=messagestring
        var timer=setTimeout("tick()",50)
        i_messagelength++
    }
    else {
        clearTimeout(timer)
        i_messagelength=0
        i_message++
        i_outlinecolor++   
        i_fillcolor1++   
        i_fillcolor2++   
        var timer=setTimeout("changeform()",pause)
    if(i_message == 2) document.location.href = "minside.html";
    }

Prøv den engang
Avatar billede mcgoat Nybegynder
31. januar 2007 - 18:30 #5
if(i_message == 2) document.location.href = "minside.html";

Hvis i_message = 2 (Der er 2 beskeder i array) så gå til minside.html

det rigtige ville jo nok være at spørge om i_message = message.length
Avatar billede mcgoat Nybegynder
31. januar 2007 - 18:30 #6
så man ikke behøver at lave 2 om til 3 hvis man tilføjer en ting mere der skal stå
Avatar billede mcgoat Nybegynder
31. januar 2007 - 18:32 #7
altså:

if(i_message == message.length) document.location.href="minside.html";
Avatar billede bdf Mester
31. januar 2007 - 18:39 #8
Kan du bestemme dig :)
Avatar billede mcgoat Nybegynder
31. januar 2007 - 18:40 #9
næh *g* ;)

virker det efter hensigten?
Avatar billede bdf Mester
31. januar 2007 - 18:41 #10
Altså if(i_message == message.length) document.location.href="minside.html"; skal erstatte if (i_messagelength <= message[i_message].length) {
?
Avatar billede mcgoat Nybegynder
31. januar 2007 - 18:42 #11
nej nej. der skal bare stå

if(i_message == message.length) document.location.href="minside.html";
Avatar billede mcgoat Nybegynder
31. januar 2007 - 18:43 #12
under linien

var timer=setTimeout("changeform()",pause)
Avatar billede bdf Mester
31. januar 2007 - 18:43 #13
Hvor præcis?
Avatar billede mcgoat Nybegynder
31. januar 2007 - 18:43 #14
for der ikke skal være nogle misforståelser.. Det skal se sådan her ud:

function tick() {
    if (i_messagelength <= message[i_message].length) {
        var messagestringend=""
        var messagestring=message[i_message].substring(0, i_messagelength)+messagestringend
        document.getElementById('textpathid').string=messagestring
        var timer=setTimeout("tick()",50)
        i_messagelength++
    }
    else {
        clearTimeout(timer)
        i_messagelength=0
        i_message++
        i_outlinecolor++   
        i_fillcolor1++   
        i_fillcolor2++   
        var timer=setTimeout("changeform()",pause)
    if(i_message == message.length) document.location.href = "minside.html";
    }
Avatar billede bdf Mester
31. januar 2007 - 18:45 #15
Jeg er med :) og det virker ;)
Mange tak for hjælpen ;)

Kom med svar
Avatar billede mcgoat Nybegynder
31. januar 2007 - 18:45 #16
Tror bare jeg paster hele filen med virkende script :) nok nemmere

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Velkommen til Hold 6.5s Hjemmeside</title>

<xml:namespace ns="urn:schemas-microsoft-com:vml" prefix="v"/>
<style type="text/css">
v\:* { behavior: url(#default#VML); }
</style>

</head>

<body>


<script type="text/javascript">


// Add as many messages as you like
var message=new Array("Velkommen til", "Hold 6.5s Hjemmeside")

// Set the outline-color. Add as many colors as you like
var outlinecolor=new Array("Blue", "Blue")

// Set fillcolors 1. Add as many colors as you like
var fillcolor1=new Array("White", "White")

// Set fillcolors 2. Add as many colors as you like
var fillcolor2=new Array("White", "Blue")

// Set the letter marking the circle
var circlemark=new Array("-----")

// Set the width of the outline
var strkweight=1

// Set the waiting time between the messages (seconds)
var pause=3

// Set the strength of the opacity (transparency of letters)
var strengthopacity="10%"

// Set the size of the circle (values range from 0.1 to 1)
var circlesize=0.5

// Always keep messages in view even if page is scrolled? (DD added option)
var keepinview="yes"

// Do not edit below this line

mytruebody=(!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body //Dynamicdrive added object

var outerwidth=mytruebody.clientWidth
var outerheight=mytruebody.clientHeight

var innerwidth=Math.floor(circlesize*outerwidth)
var innerheight=Math.floor(circlesize*outerheight)

var posleft=(outerwidth-innerwidth)/2
var postop=(outerheight-innerheight)/2

var path=new Array()
var i_message=0
var i_outlinecolor=0
var i_fillcolor1=0
var i_fillcolor2=0
var i_messagelength=0
var longestmessage=0
pause*=1000

var ie=document.getElementById&&document.all?1:0

for (i=0;i<=message.length-1;i++) {
    if (message[i].length>longestmessage) {
        longestmessage=message[i].length
    }
    longestmessage+=4
}

for (i=0;i<=message.length-1;i++) {

    var emptyspace=""
    var i_emptyspace=(longestmessage-message[i].length)/2
    for (ii=0;ii<=i_emptyspace;ii++) {
        emptyspace+=circlemark
    }
    message[i]=emptyspace+" "+message[i]+" "+emptyspace
}

function changeform() {
    if (keepinview=="yes") //DD added
    document.getElementById("roofid").style.top=mytruebody.scrollTop //DD added
    if (i_outlinecolor >= outlinecolor.length) {i_outlinecolor=0}
    if (i_fillcolor1 >= fillcolor1.length) {i_fillcolor1=0}
    if (i_fillcolor2 >= fillcolor2.length) {i_fillcolor2=0}
    document.getElementById('strokeid').color=outlinecolor[i_outlinecolor]
    document.getElementById('fillid').color=fillcolor1[i_fillcolor1]
    document.getElementById('fillid').color2=fillcolor2[i_fillcolor2]
    if (i_message < message.length) {tick()}
    else {document.getElementById('textpathid').string=""
    document.getElementById("roofid").style.display="none" //DD added
    }
}

function tick() {
    if (i_messagelength <= message[i_message].length) {
        var messagestringend=""
        var messagestring=message[i_message].substring(0, i_messagelength)+messagestringend
        document.getElementById('textpathid').string=messagestring
        var timer=setTimeout("tick()",50)
        i_messagelength++
    }
    else {
        clearTimeout(timer)
        i_messagelength=0
        i_message++
        i_outlinecolor++   
        i_fillcolor1++   
        i_fillcolor2++   
        var timer=setTimeout("changeform()",pause)
        if(i_message == message.length) document.location.href="minside.html";
    }
   
}

if (ie) {
    document.write('<div id="roofid" style="position:absolute;left:0px;top:0px;width:'+outerwidth+'px;height:'+outerheight+'px;overflow:hidden;">')
    document.write('<v:oval id="tc" style="position:absolute;top:'+postop+'px;left:'+posleft+'px;width:'+innerwidth+'px;height:'+innerheight+'px">')
    document.write('<v:shadow on="t" opacity="'+strengthopacity+'"/>')
    document.write('<v:stroke id="strokeid" weight="'+strkweight+'pt" color="blue"/>')
    document.write('<v:fill id="fillid" on="True" color="'+fillcolor1[0]+'" color2="'+fillcolor2[0]+'" opacity="'+strengthopacity+'" opacity2="'+strengthopacity+'" type="gradient"/>')
    document.write('<v:path textpathok="t"/>')
    document.write('<v:textpath id="textpathid" on="t" id="mytp" style="font-family:\'Arial Black\'; " fitpath="t" string=""/>')
    document.write('</v:oval></div>')
    if (window.attachEvent) //DD added code
    window.attachEvent("onload", changeform) //DD added code
    else
    window.onload=changeform

}
</script>

</body>

</html>
Avatar billede mcgoat Nybegynder
31. januar 2007 - 18:45 #17
ok :)
Avatar billede bdf Mester
31. januar 2007 - 18:47 #18
Lige et enkelt spørgsmål mere :)  Hvis der så skulle gå x antal sek før den går videre hva skal jeg så tilføje til den linie?
Avatar billede mcgoat Nybegynder
31. januar 2007 - 18:48 #19
noget jeg lige så der undrede mig dog... skal man ikke bruge semikolon for at afslutte linier? oO
Avatar billede bdf Mester
31. januar 2007 - 18:49 #20
Ved faktisk ik, fandt scriptet på nettet og har så leget lidt med det men kunne ik gøre det helt færdigt som du kan se :)
Avatar billede mcgoat Nybegynder
31. januar 2007 - 18:52 #21
function tick() {
    if (i_messagelength <= message[i_message].length) {
        var messagestringend=""
        var messagestring=message[i_message].substring(0, i_messagelength)+messagestringend
        document.getElementById('textpathid').string=messagestring
        var timer=setTimeout("tick()",50)
        i_messagelength++
    }
    else {
        clearTimeout(timer)
        i_messagelength=0
        i_message++
        i_outlinecolor++   
        i_fillcolor1++   
        i_fillcolor2++   

    if(i_message == message.length)
    {
        setTimeout("document.location.href='minside.html'", 5000);
    }
    else
    {
            var timer=setTimeout("changeform()",pause)       
    }
    }
   
}


burde kunne gøre det, du kan bare ændre 5000( 5 sec) hvis det er
Avatar billede bdf Mester
31. januar 2007 - 18:56 #22
Takker :)
Avatar billede mcgoat Nybegynder
31. januar 2007 - 18:58 #23
var så lidt :) og tak for point
Avatar billede roenving Novice
02. februar 2007 - 01:15 #24
Ifølge de gældende standarder for javascript/ECMAscript skal statements adskilles af semikolon _eller_ linjeskift ...

-- jeg vil dog _altid_ anbefale, at man under alle omstændigheder afslutter et statement med semikolon, så man ikke får mærkværdigheder, f.eks. hvis encoding skifter på en sådan måde, at der ikke tolkes et linjeskift (eller man ønsker at komprimere koden og derfor fjerner dem !-)

Altså er det ganske lovligt at undlade semikoloner, men ikke altid hensigtsmæssigt !o]
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