Avatar billede d8tv Nybegynder
06. august 2001 - 09:43 Der er 13 kommentarer og
1 løsning

Automatisk opdatering på ekstern hjemmeside

Dette script opdaterer en hjemmeside, men problemet er at et nyt vindue åbnes hver gang. Hvorledes opdateres en ekstern side automatisk uden at et nyt vindue loades hver gang.

<SCRIPT LANGUAGE=javascript>
        <!--

        var newDateObj = new Date()


        window.open(\"http://www.borsen.dk/dagens-nyheder/spreder/dnmain\")
        setTimeout(\"location.reload()\", 5000)


        //-->

</SCRIPT>
Avatar billede nute Nybegynder
06. august 2001 - 09:57 #1
Jeg tror faktisk du er nødt til å bruke frames til dette. I teorien skulle dette fungere

<SCRIPT LANGUAGE=javascript>
        <!--
        var newDateObj = new Date()
        newWin = window.open(\"http://www.borsen.dk/dagens-nyheder/spreder/domain\")
        setTimeout(\"newWin.location.reload()\", 5000)
        //-->
</SCRIPT>

men man får desverre ikke lov til å oppdatere vinduet du åpner. Hvis du derimot lager et dokument med frames (hvor den ene frame har har børsen som innhold, mens den andre frame er tom.)

/nute
Avatar billede d8tv Nybegynder
06. august 2001 - 10:38 #2
Jeg har testet ovennævnte. Det virker ikke - siden loades i et nyt vindue (window.open) og siden bliver ikke opdateret. Der skal klikkes på \"opdater\" knappen.
Avatar billede jakoba Nybegynder
06. august 2001 - 10:53 #3
<script language=\'javascript\'>

var nytWin = null;
var lbnr  = new Date()
    lbnr  = lbnr.valueOf();
var minurl = \"\";
function openOrReuse( url ) {
    if ( nytWin && !nytWin.closed ) {  // hvis vinduet allerede er der
        nytWin.location.href = minurl+lbnr++;    // ny side til eksisterende vindue
        if ( nytWin.focus ) nytWin.focus();  // hiver det existerende vindue op foran
    } else {
        nytWin = window.open( url );
        minurl = url;
    };
    setTimeout( \"openOrReuse()\", 5000 )
}; //end openOrReuse( string )


</script>

visningen startes med fx en onclick i et link:

<a href=\'java script:void(0)\' onclick=\"openOrReuse(\'http://www.borsen.dk/dagens-nyheder/spreder/dnmain\')\">Vis løbende nyheder fra Børsen</a>

men pas lidt på med det der. hvis der er risiko for at brugeren går videre på diene sider og begynder at udfylde felter vil den linie der \"hiver det existerende vindue op foran\" få hans tekstcursor til at forsvinde så han skriver ud i luften. Det kan være det er bedre hvis du helt sletter den linie.

mvh JakobA
Avatar billede d8tv Nybegynder
06. august 2001 - 11:22 #4
Hej Jakoba

Ser ud til at virke - problemet er nu at siden hele tiden popper op. Irriterende hvis man har et andet program åbent, hvis den kunne poppe op ved ændringer var det ok eller ikke poppe op ved opdateringen.

Hilsen
d8tv
Avatar billede jakoba Nybegynder
06. august 2001 - 11:36 #5
At få den til selektivt at poppe op når der var noget ændret tør jeg ikke binde an med i eksperten.dk regi, det er et større projekt.

men hvis du fjerner linien
        if ( nytWin.focus ) nytWin.focus();  // hiver det existerende vindue op foran

vil vinduet holde sig hvor det placeres og ikke lægge sig op foran.

mvh JakobA
Avatar billede d8tv Nybegynder
06. august 2001 - 11:42 #6
Er prøvet, hvilket ikke virker - siden popper op ved reload.
Problemet er vel linien:
nytWin = window.open( url );
der åbner et nyt vindue i browseren.

mvh
d8tv
Avatar billede jakoba Nybegynder
06. august 2001 - 12:07 #7
Det var sørens, det ville jeg ikke have forventet.
Avatar billede nute Nybegynder
06. august 2001 - 12:34 #8
dette fungerer fint hos meg:

<html>
<script language=\'javascript\'>
var nytWin = null;
var lbnr  = new Date()
    lbnr  = lbnr.valueOf();
var minurl = \"\";
function openOrReuse( url ) {
    if ( nytWin && !nytWin.closed ) {  // hvis vinduet allerede er der
        nytWin.location.href = url+\"?\"+lbnr;    // ny side til eksisterende vindue
        //if ( nytWin.focus ) nytWin.focus();  // hiver det existerende vindue op foran
    } else {
        nytWin = window.open( url );
        minurl = url;
    };
    setTimeout( \"openOrReuse(\'\" + url + \"\')\", 5000 )
}; //end openOrReuse( string )


</script>
<body>
<a href=\'java script:void(0)\' onclick=\"openOrReuse(\'http://www.borsen.dk/dagens-nyheder/spreder/dnmain\')\">Vis løbende nyheder fra Børsen</a>
</body>
</html>

/nute
Avatar billede jakoba Nybegynder
06. august 2001 - 12:44 #9
nute > Kunne det være han minimerer vinduet?
Avatar billede jakoba Nybegynder
06. august 2001 - 12:47 #10
Ups, du har ret, jeg glemte det \"?\"
Avatar billede nute Nybegynder
06. august 2001 - 12:53 #11
jakoba >> hvis han minimerer vinduet, så vil det få fokus ved oppdatering. Dermed ser det ut som et nytt vindu åpnes.

/nute
Avatar billede d8tv Nybegynder
06. august 2001 - 12:58 #12
Korrekt Jakoba - for at arbejde videre med et andet program eller læse post m.v. minimeres vinduet, som herefter popper op ved opdatering af siden. Lidt irriterende!
Avatar billede jakoba Nybegynder
06. august 2001 - 14:04 #13
Det kan vi ikke rigtig gøre noget ved. Andet end at foreslå at du lader være med at minimere vinduet, men blot \'lægger det om bagved\' det programvindue du vil arbejde i (du kan stadig klikke på det i taskbar for at få det op foran).
Det er vel mest et spørgsmål om hvor stor skærm du har. fra 800*600 og ned kører mange i maksimerede vinduer og så er det nemmest at minimere.
Avatar billede d8tv Nybegynder
07. august 2001 - 09:13 #14
Løsningen som Jakoba foreslog virker fint - eneste problem er at siden popper op og sætter sig i focus. I Windows 2000 popper den dog ikke op i stifinderen, Word, nyt browservindue - men giver et problem i outlook 2000 - når der læses post m.v.
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