Avatar billede kaptajnknas Nybegynder
09. oktober 2006 - 08:34 Der er 41 kommentarer og
1 løsning

Problemer med java-script

Nogen der kan se hvorfor dette script ikke virker efter hensigten? callserver hvert 5. sek

<SCRIPT>
<!--

function callServer() {
    // use the dom2 to find 'loadScript' in the head tag
    var head = document.getElementsByTagName('head').item(0);
    var scriptTag = document.getElementById('loadScript');

    // if 'loadScript' already exists - remove it
    if (scriptTag) head.removeChild(scriptTag);

    // create a new element by the name of script
    script = document.createElement('script');

    // set the new scripts properties
    script.src = 'data.asp';
    script.type = 'text/javascript';
    script.id = 'loadScript';

    // move the element script into the head
    head.appendChild(script);
}

setInterval(callServer, 5000);

}
// -->
</SCRIPT>
Avatar billede mclemens Nybegynder
09. oktober 2006 - 11:20 #1
Slet den sidste }
der står efter setInterval ...
Avatar billede mclemens Nybegynder
09. oktober 2006 - 11:21 #2
Test eksempel:
---------------------

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta

http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/javascript" id="loadScript" src="filnavn.js"></script>

<script type="text/javascript">

function callServer() {
    // use the dom2 to find 'loadScript' in the head tag
    var head = document.getElementsByTagName('head').item(0);
    var scriptTag = document.getElementById('loadScript');

    // if 'loadScript' already exists - remove it
    if (scriptTag) head.removeChild(scriptTag);

    // create a new element by the name of script
    script = document.createElement('script');

    // set the new scripts properties


//    script.src = 'data.asp';
  script.src = 'filnavn.js';



    script.type = 'text/javascript';
    script.id = 'loadScript';

    // move the element script into the head
    head.appendChild(script);
}

setInterval(callServer, 5000);



</script>

</head><body>

</body></html>



og filnavn.js:
----------------
alert(2);
Avatar billede kaptajnknas Nybegynder
09. oktober 2006 - 12:04 #3
Ok :-)
Filnavn.js betyder??

Mangler der en fil der?
Avatar billede mclemens Nybegynder
09. oktober 2006 - 12:10 #4
//    script.src = 'data.asp';
  script.src = 'filnavn.js';

skal rettes til:

    script.src = 'data.asp';

og

<script type="text/javascript" id="loadScript" src="filnavn.js"></script>

rettes til:

<script type="text/javascript" id="loadScript" src="data.asp"></script>
Avatar billede mclemens Nybegynder
09. oktober 2006 - 12:25 #5
Dog er id på scripts elementer ikke ok så denne er nok bedre ...
filnavn.js skal nok erstattes i nedenstående ...


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/javascript" src="filnavn.js"></script>

<script type="text/javascript">

loadscriptsrc="filnavn.js";

function callServer() {

  // use the dom2 to find 'loadScript' in the head tag

  var head = document.getElementsByTagName('head')[0];
  var scripts = head.getElementsByTagName('script');
  for(i=0,i2=scripts.length;i<i2;i++){
    if(scripts[i].src.indexOf(loadscriptsrc)!=-1){

      // if 'loadScript' already exists - remove it
      head.removeChild(scripts[i]);

      // create a new element by the name of script
      script = document.createElement('script');

      // set the new scripts properties
      script.src = loadscriptsrc;
      script.type = 'text/javascript';
      head.appendChild(script);

      i=i2; // Stop running the loop

    }
  }

}

setInterval(callServer, 5000);

</script>

</head><body>

</body></html>
Avatar billede kaptajnknas Nybegynder
09. oktober 2006 - 12:27 #6
Det er hermed rettet, men jeg får stadig script-fejl på siden.
Skal data.asp være en anden, end den side som skal loades?
Avatar billede mclemens Nybegynder
09. oktober 2006 - 12:45 #7
... Hvis jeg retter ovenstående eksempel til
data.asp og laver en data.asp med dette indhold:

alert(123);

... så virker testen hos mig ...

- ved dog ikke om du bør outputte en asp header
så asp filen opfattes som javascript ...

( en php header kunne se sådan her ud
<?php header('content-type: application/x-javascript;charset=iso-8859-1'); ?> )

... men måske er der fejl i din data.asp fil - så prøv backup af asp
filen og så prøv at lave en ny asp fil med indholdet alert(123); i
din asp fil ... hvis det virker så lægger fejlen i din asp fil ...
Avatar billede kaptajnknas Nybegynder
09. oktober 2006 - 13:00 #8
Ok. nu har jeg så lavet en callserver.htm med scriptet som vist herunder og en data.htm med eks. alert(123); som værdi.
Men det virker af en eller anden grund ikke der opstår en syntax fejl.


<script type="text/javascript" src="data.htm"></script>

<script type="text/javascript">

loadscriptsrc="data.htm";

function callServer() {

  // use the dom2 to find 'loadScript' in the head tag

  var head = document.getElementsByTagName('head')[0];
  var scripts = head.getElementsByTagName('script');
  for(i=0,i2=scripts.length;i<i2;i++){
    if(scripts[i].src.indexOf(loadscriptsrc)!=-1){

      // if 'loadScript' already exists - remove it
      head.removeChild(scripts[i]);

      // create a new element by the name of script
      script = document.createElement('script');

      // set the new scripts properties
      script.src = loadscriptsrc;
      script.type = 'text/javascript';
      head.appendChild(script);

      i=i2; // Stop running the loop

    }
  }

}

setInterval(callServer, 5000);

</script>

<body>

</body>
Avatar billede mclemens Nybegynder
09. oktober 2006 - 13:07 #9
a) At kalde en javascript fil for .htm eller .html er
forkert det er en .js fil. htm og html filer er beregnet
til at indeholde markup. js filer er beregnet til javascript.
php og asp filer er beregnet til varieret indhold afhængig af
hvad man vælger som server header af content type...

b) du har hevet script delen ud af head delen og fjernet doctype html m.v.
Avatar billede mclemens Nybegynder
09. oktober 2006 - 13:08 #10
Det virker med htm men det er stadig forkert ...


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/javascript" src="data.htm"></script>

<script type="text/javascript">

loadscriptsrc="data.htm";

function callServer() {

  // use the dom2 to find 'loadScript' in the head tag

  var head = document.getElementsByTagName('head')[0];
  var scripts = head.getElementsByTagName('script');
  for(i=0,i2=scripts.length;i<i2;i++){
    if(scripts[i].src.indexOf(loadscriptsrc)!=-1){

      // if 'loadScript' already exists - remove it
      head.removeChild(scripts[i]);

      // create a new element by the name of script
      script = document.createElement('script');

      // set the new scripts properties
      script.src = loadscriptsrc;
      script.type = 'text/javascript';
      head.appendChild(script);

      i=i2; // Stop running the loop

    }
  }

}

setInterval(callServer, 5000);

</script>

</head><body>

</body></html>


og data.htm
----------------
alert(123);
Avatar billede kaptajnknas Nybegynder
09. oktober 2006 - 13:18 #11
Tester du på en server eller bare i browseren?
Jo men ideen var jo at loade et asp script via java-script for at få en flydende load, uden at siden i browseren skal loades hver gang.

Så jeg er måske helt forkert på den?
Avatar billede kaptajnknas Nybegynder
09. oktober 2006 - 14:48 #12
Jo scriptet virker, jeg får alert 123 nu.
Men kan det så ikke lade sig gøre at loade et asp dokument med java-script?
Avatar billede olebole Juniormester
09. oktober 2006 - 15:35 #13
<ole>

Hvad mener du med at loade et asp-dokument? Du kan ikke loade HTML-indhold (elementer) i et asp-dokument via JavaScript på denne måde  =)

/mvh
</bole>
Avatar billede kaptajnknas Nybegynder
09. oktober 2006 - 15:47 #14
Hm. hvordan så ole, nogen forslag?
Med document.write??

<script type="text/javascript">
setTimeout("document.write('Mit asp dokument')",1000);
</script>
Avatar billede kaptajnknas Nybegynder
09. oktober 2006 - 18:29 #15
Ingen bud? ellers vil jeg lukke spørgsmålet igen.
Avatar billede mclemens Nybegynder
09. oktober 2006 - 22:38 #16
Lav en iframe og opdater den hvert femte sekund eller lav et
billede med billedekilden data.asp og reload hver femte sekund
... style den ene eller den anden til 0x0 px eller brug display:none;
Avatar billede mclemens Nybegynder
09. oktober 2006 - 22:43 #17
Eller uddyb evt. hvad problem stillingen er ...
Avatar billede kaptajnknas Nybegynder
09. oktober 2006 - 23:45 #18
Jeg erude efter en opdatering / refresh af mit asp-dokument hvert 5 sek. uden blink og klik fra browseren.
Et iframe løser ikke problemet..:(

Troede bare at java-script kunne kodes til at loade asp
Avatar billede mclemens Nybegynder
09. oktober 2006 - 23:54 #19
Hvis en load via en iframe og en replace af aktuel side der evt. vises i fuld iframe (og så loop af dette hvert 5 sekund) ikke virkerå kan du måske kan du lege med en ajex request og overføre dataerne ... og evt. parse og loade billederne http://developer.mozilla.org/en/docs/AJAX:Getting_Started#Step_3_.E2.80.93_.22All_together_now.21.22_-_A_Simple_Example
( har ikke selv leget med ajax ... men det er der jo andre her på eksperten der har ... )
Avatar billede kaptajnknas Nybegynder
10. oktober 2006 - 09:31 #20
Hvis det ellers er muligt at lave i java-script, er du så interesseret i at lave det for kontant betaling?

Hvis ikke kan du fortælle lidt mere om hvad ajex kan og gør?
Avatar billede mclemens Nybegynder
10. oktober 2006 - 22:53 #21
Har desværre ikke interresse i det, da det som sagt ikke
er noget jeg har rodet med og ikke selv har behovet for ...
Og har derfor ikke stor interesse i at sætte mig ind i det ...

Hvad ajax gør ? Har du evt. læst hele den side du lander på ved det tidligere link ?
Oppe i toppen af siden står der en kort forklaring på hvad ajax er ... Dit ajax
resultat skal så parses og håndteres specifikt afhængig af hvordan dit site
ser ud og hvilke dataer / elementer som indgår i xml filen du henter ...

Hæng ud, det kan være, der er en anden, der vil tilbyde sig ... ;)
Avatar billede mclemens Nybegynder
10. oktober 2006 - 22:57 #22
ajax kan kort sagt hente en fil og sende dataer til serveren - en slags fidibus
imellem client-side og server-side ... dog skal man passe på med at requeste for
ofte via. et loop så man ikke belaster serveren for meget og sørge for at den xml
fil som man henter via javascript håndteres ordentligt i ens javascript ... (og leveres som xml)
Avatar billede kaptajnknas Nybegynder
11. oktober 2006 - 09:50 #23
Hm. det lyder meget kompliceret, meget mere end jeg umiddelbart kan rumme i mit hoved.
Men mange tak for hjælpen og svarene >> mclemens

Som nævnt tidligere vil jeg gerne betale for en løsning, hvad enten det er ajex, java-script, flash eller andet der kan løse problemet...
Avatar billede kaptajnknas Nybegynder
13. oktober 2006 - 14:10 #24
mclemens >> du får point for din venlighed :)
Men ved du hvem laver sådan noget for betaling??
Avatar billede kaptajnknas Nybegynder
13. oktober 2006 - 16:16 #25
Kunne noget som det her måske bruges?

<script>

var updateInterval;
var NumLow = 0;
var NumHigh = 10;

var DataVars = new LoadVars();
DataVars.onLoad = function(ok){
  if(ok){
    trace("Har hentet data fra APS");
    DataText.text = this.Data;
    updateAfterEvent();
  }
}
function update(){
  trace("opdaterer");
  DataVars.NumLow = NumLow;
  DataVars.NumHigh = NumHigh;
  DataVars.R = Math.round(Math.random()*999);
  DataVars.SendAndload("Data.asp", DataVars, "GET");
}
updateInterval = setInterval(update, 5000);
update();
</script>
Avatar billede mclemens Nybegynder
14. oktober 2006 - 22:10 #26
Tak for point, jeg har aldrig haft behov for hjælp fra kodningsfirmaer, så hvem du bør kontakte ved jeg ikke, det ser nu ikke så svært ud med det ajax inde på mozilla, men jeg har valgt ikke at gå ind i ajax, da jeg ikke har behovet ...

Du kan evt. prøve en forespørgsel under programmering, hvis linket til ajax siden fra mozilla ikke hjælper efter et par gennemlæsninger ... husk at levere xml filerne som xml, hvis du selv leger lidt med det ;)
Avatar billede kaptajnknas Nybegynder
15. oktober 2006 - 02:36 #27
Det er fint mclemens >> tak :-)
Skulle der ellers være nogen der har kigget med i denne tråd, er der 500 kr. for en løsning af en eller anden form.

Jeg venter 1-2 dage ellers lukker jeg spg. her.
Avatar billede olebole Juniormester
16. oktober 2006 - 09:18 #28
kaptajnknas >> prøv lige at smide mig en mail ... mit nick + @ + gmail (.) com  =)
Avatar billede kaptajnknas Nybegynder
16. oktober 2006 - 12:47 #29
Er sendt..
Avatar billede olebole Juniormester
16. oktober 2006 - 13:04 #30
- men endnu ikke modtaget  =)
Avatar billede kaptajnknas Nybegynder
16. oktober 2006 - 19:26 #31
ikke endnu?
Avatar billede kaptajnknas Nybegynder
17. oktober 2006 - 10:49 #32
olebole får du ikke min email?
Avatar billede olebole Juniormester
17. oktober 2006 - 13:27 #33
nope ... ikke endnu. Adressen er i anti-spam-form:
    olebole [krøllet-snabel] gmail [prik] com
Avatar billede kaptajnknas Nybegynder
17. oktober 2006 - 14:03 #34
Hm. ja den har jeg sendt til... prøver igen
Avatar billede olebole Juniormester
17. oktober 2006 - 16:47 #35
- ellers skriv din egen addy, hvis det stadig ikke lykkes. Jeg har endnu ikke fået mail fra dig ... men fra en masse andre, så den fungerer  =)
Avatar billede kaptajnknas Nybegynder
17. oktober 2006 - 17:11 #36
Min adr.:

kaptajnknaas@jubii.dk
Avatar billede kaptajnknas Nybegynder
20. oktober 2006 - 21:07 #37
olebole >> fik du min mail?
Avatar billede kaptajnknas Nybegynder
03. november 2006 - 17:51 #38
Opgaven kunne ikke løses. SLUT
Avatar billede olebole Juniormester
13. november 2006 - 14:15 #39
- det mindste du kunne gøre er zq da at svare på de mails, man skriver til dig ... ellers er der vel ikke noget at sige til, du ikke kan få løst dine problemer
Avatar billede kaptajnknas Nybegynder
13. november 2006 - 18:17 #40
Olebole >> jeg har sendt utallige mails til dig, de er åbenbart ikke nået frem?
Avatar billede olebole Juniormester
14. november 2006 - 08:26 #41
Det tvivler jeg på er sandt. De to første, jeg øjensynligt aldrig fik (og som vi taler om her i tråden), fandt jeg nemlig i min spam-box. Derefter har du ikke svaret på mine spørgsmål eller vist mig den kode, jeg skulle arbejde med ... og jeg har gennemchecket mine mail-boxes! Jeg har aldrig før mistet mails på GMail, så jeg tvivler på, det pludselig skulle være sket nu.
Avatar billede kaptajnknas Nybegynder
14. november 2006 - 11:24 #42
Jeg har i hvert fald besvaret alle dine mails direkte fra min indbakke, om det er jubii eller gmail der fejler ved jeg ikke.
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