Avatar billede prays Nybegynder
03. juni 2007 - 16:09 Der er 10 kommentarer og
1 løsning

Adresse tjek i popup

Hej,

Jeg går og mangler et script som hvert x sekund tjekker hvilken adresse der er i et popup vindue, og hvis adressen er ændret fra y til z så skal den udføre en funktion. Nogen der ved hvordan dette kan lade sig gøre?

På forhånd tak :)
Avatar billede thesurfer Nybegynder
03. juni 2007 - 19:33 #1
Eksempel:

a = window.open("side.htm","a","");
setTimeout("check()", 1000 * 5); // 5 sekunder

så kan du bruge:

function check()
{
 
  if (a.location.href != "side.htm")
  {
    // adressen er ikke længere "side.htm"..
    // gør et eller andet
  }
 
}

Koden er skrevet direkte ind på Eksperten, og er derfor ikke testet.. :-)
Men det er noget i den stil..
Avatar billede thesurfer Nybegynder
03. juni 2007 - 19:33 #2
Rettelse:

a = window.open("side.htm","a","");
check();

så kan du bruge:

function check()
{
 
  if (a.location.href != "side.htm")
  {
    // adressen er ikke længere "side.htm"..
    // gør et eller andet
  }
  setTimeout("check()", 1000 * 5); // 5 sekunder
}
Avatar billede thesurfer Nybegynder
03. juni 2007 - 19:34 #3
Hmm.. kommer lige i tanke om, at der nok skal sammenlignes med en hel URL:

a.location.href != "http://www.server.dk/side.htm"

Husk at rette det til..
Avatar billede prays Nybegynder
03. juni 2007 - 20:15 #4
mange tak, det virker meget rigtigt. Men har lige prøvet det af, kan ikke rigtig få det til at virke:S
Avatar billede prays Nybegynder
03. juni 2007 - 20:25 #5
Sry, glemte helt at skrive hvad det konkrete problem er. hehe.. Men jeg har lavet det som et link, når man trykker på det åbner den så "a", men hvor skal jeg så hente check funktionen? Hvis jeg henter den inden der er trykket på linket, udfører den naturligvis den function den skal hvis a ikke længere er a. Så hvordan skal jeg bygge det op?
Håber det er nogenlunde forståeligt:)
Avatar billede thesurfer Nybegynder
03. juni 2007 - 20:30 #6
<script type="text/JavaScript" language="JavaScript">
a = null;
url = "http://www.dinserver.dk/evt-en-mappe-eller-flere-her/"; // ret den her til

function vispopup(adresse)
{
    a = window.open(adresse, "a", "");
    check(adresse);
}

function check(adresse)
{
    if (a != null)
    {
        if (a.location.href != url + adresse)
        {
            alert("der er skiftet adresse");
        }
    }
    setTimeout("check('" + adresse + "')", 1000 * 5);
}
</script>

<a href="#" onclick="vispopup('test.htm');return false">åben test.htm i en popup</a>
Avatar billede thesurfer Nybegynder
03. juni 2007 - 20:32 #7
Hmm.. indlægget 03/06-2007 20:25:32 forvirrer mig lidt.. :-)

Har du noget eksisterende kode jeg kan kigge på..?
Avatar billede prays Nybegynder
03. juni 2007 - 20:48 #8
Jeg har lige ændret linien if (a.location.href != url + adresse) til if (a.location.href != url) da den ellers blev ved med at køre alerten. Nu fungere det, dog udfører den stadig alert første gang man trykker på linket, hvilket ikke er så godt hvis den skal sætte vinduets location til noget andet. Har lige testet den her: http://www.metra.dk/test/pop.php
Avatar billede thesurfer Nybegynder
03. juni 2007 - 23:11 #9
Det var meningen at url skulle være "http://www.metra.dk/test/" og at det skulle være "pop2.php" der skulle sendes med.. :-)

Det begrænser også filerne der vises, til den nuværende mappe..

Man kunne også bruge det, som du bruger der nu.. så kan man bruge alle adresser..


Så vidt jeg kan se, virker det som det skal..?
Avatar billede prays Nybegynder
03. juni 2007 - 23:52 #10
Ja, det virker perfekt nu, satte lige timeout på check i vispopup, så kommer alert ikke frem ved tryk på link. Så bare lige kom med svar, så får du point:) og mange tak for hjælpen!
Avatar billede thesurfer Nybegynder
04. juni 2007 - 06:50 #11
Det var da så lidt.. :-)
- Svar
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