Avatar billede rudi1234 Nybegynder
15. januar 2003 - 16:36 Der er 13 kommentarer og
1 løsning

Reload af script, men ikke siden

Hvordan får jeg et script til at reloade, men ikke den side som scriptet er i? Eks.:

<html>
<head>
    <title>Test</title>
</head>

<body>
<h1>Hjemmeside</h1>
Bla.. bla... (dette skal ikk reloades)
<script src="scriptfil.js"></script>
</body>
</html>
Avatar billede keysersoze Ekspert
15. januar 2003 - 16:43 #1
nu er det lidt svært ud fra din beskrivelse at se hvad det skal bruges til, men umiddelbart kan du ikke reloade en del af en side på den måde. SÅ mit umiddelbare gæt er, at du _måske_ kan løse det ved at bruge en iframe

men ellers beskriv lidt nærmere
Avatar billede rudi1234 Nybegynder
15. januar 2003 - 17:06 #2
OK.
I scriptfil.js ligger en komponent (en kalender) som jeg har lavet. Faktisk hedder filer scriptfil.asp, for det er en asp-komponent. Den virker udemærket, men jeg vil gerne gøre den dynamisk, således at man kan klikke på et link i kalenderen, og så reloades den i den html-side hvor den allerede ligger, uden at html-siden reloader. Grunden til at den skal reloades er at jeg f.eks. ønsker at få vist nogle flere kalenderopslag end standard.
Groupcare.dk gør noget lignende med deres komponenter.
Avatar billede olebole Juniormester
15. januar 2003 - 18:46 #3
<ole>

Det tillades i IE:
<script type="text/JavaScript" id="omigen" src="bla.js"></script>

<button onclick="document.getElementById('omigen').src='bla.js'">ReLoad</button>

/mvh
</bole>
Avatar billede rudi1234 Nybegynder
16. januar 2003 - 09:15 #4
Den skriver godt nok i statuslinjen at den henter data fra scriptet, men der sker ikke nogen ændring (jeg har sat scriptet til at udskrive tidspunkt, men det ændrer sig ikke når jeg trykker på knappen).
Avatar billede Slettet bruger
16. januar 2003 - 16:43 #5
Det lyder som et meget snørklet foretagende det dér, og det kan vist ikke løses på en helt så simpel måde...
Smid gerne et link, så kan vi måske komme på noget alternativt!
Avatar billede rudi1234 Nybegynder
16. januar 2003 - 18:05 #6
Det drejer sig om den html-side, test.asp (i asp godt nok):

<%
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title>Test</title>
</head>

<body>
<h1>Hjemmeside</h1>
Dato og tid for html-sidens load: <%=now%><hr>

Dato og tid for html-sidens load:
<script src="script.asp" id="omigen"></script><br>
<button onclick="document.getElementById('omigen').src='script.asp'">ReLoad</button>
</body>
</html>
%>


Og dette script (script.asp):
<%
Response.Write "document.write('"&now&"');"
%>

Begge ligger i samme mappe, men når jeg kalder test.asp, loader siden, me ved tryk på knappen reloader scriptet ikke...
Avatar billede Slettet bruger
16. januar 2003 - 18:08 #7
Under alle omstændigheder vil document.write overskrive siden. Så det går ikke. Du kan vælge at lægge dine sætninger ind i en funktion og så køre denne.
Avatar billede rudi1234 Nybegynder
16. januar 2003 - 18:12 #8
Jeg er ikke så god til Javascript; kan du give et eksempel? F.eks. hvor scriptet kaldes med forsk. parametre:
<script src="script.asp?mode=vis_nye_indlæg_i_debat" id="omigen"></script><
Avatar billede Slettet bruger
17. januar 2003 - 14:58 #9
Kan du ikke refreshe en iframe? Jeg kan på ingen måde anbefale at klare det ved at rode med eksterne scripts!
Avatar billede rudi1234 Nybegynder
17. januar 2003 - 15:37 #10
Helst ikke. Iframe virker vist ikke i Netscape(?), og jeg vil helst have det som et nemt script der kan indsættes hvor som helst. Det er til en kalender som skal kunne indsættes af folk på deres egen hjemmeside.
Som sagt har groupcare.dk noget der ligner med deres "komponenter".
Avatar billede olebole Juniormester
17. januar 2003 - 15:37 #11
Det funker fint hos mig. Henter jeg et JavaScript-Date-objekt i en remote-fil og reloader den, får jeg et nyt tal  :)
Noget tyder på, din server casher ASP-filen
/mvh
Avatar billede olebole Juniormester
17. januar 2003 - 15:41 #12
Prøv evt, at kalde den med:

<button onclick="document.getElementById('omigen').src='script.asp?'+new Date().getTime();">ReLoad</button>
Avatar billede rudi1234 Nybegynder
17. januar 2003 - 16:05 #13
Jeg har prøvet 3 forskellige servere, men ingen af dem reloader. Og det sidste, new Date..., virker desværre heller ikke.

Det som jeg skal bruge det til er at på den kalender der skal vises, skal nogle rækker, f.eks. dem der har med højtider at gøre, kunne gøres usynlige ved klik på en knap eller lign. Men de skal ikke kun gøre usynlige; den plads der har taget op skal også fjernes. Dvs. hvis række 3 fjernes, skal række 4 og de efterfølgende rækker "hoppe" med op....
Avatar billede olebole Juniormester
17. januar 2003 - 16:12 #14
Det her virker som sagt slet ikke i NetScape - men iframe virker derimod fint i NS. De eneste NS, hvor iframe ikke virker er 4.x og under. Fra version 6.0 og op er der ikke skyggen af problemer.
Iframe er jo et W3C-standardiseret element.
/mvh
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