Avatar billede kermit Nybegynder
19. april 2001 - 13:06 Der er 43 kommentarer og
3 løsninger

Iframe og lidt javascript !

Hej,

I starten af mit dokument har jeg en iframe hvori der bliver loadet en dummy side ! Nederst i mit html dokument bliver dummyen så skiftet ud med den faktiske side.

Det virker helt perfekt. Mit problem opstår hvis brugeren trykker på back i browseren, så loades dummy siden altså i iframen. Det skal den ikke, den skal selvfølgelig hente siden før denne.

Er der nogen løsning til dette ????

Pft.
Avatar billede nute Nybegynder
19. april 2001 - 13:08 #1
ikke helt forstått...:-|
Avatar billede nikolajdu Nybegynder
19. april 2001 - 13:08 #2
Kan man få et link?
Avatar billede nikolajdu Nybegynder
19. april 2001 - 13:10 #3
Nute - Samme tid ;-)
Avatar billede myplacedk Nybegynder
19. april 2001 - 13:10 #4
Prøv at lege med \"location.replace\". Den skulle vist erstattet urlen i \"history\", i stedet for at tilføje en ny.
Avatar billede nute Nybegynder
19. april 2001 - 13:11 #5
hehe.-..
Avatar billede kermit Nybegynder
19. april 2001 - 13:12 #6
Det ser nogenlunde sådan ud :

<html>
<head>
<title>www.krak.dk</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">


<body bgcolor=\"#CCCCCC\" topmargin=\"0\" marginheight=\"0\" marginwidth=\"0\" leftmargin=\"0\">

<IFRAME SRC=empty.htm width=468 height=60 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no name=frm></IFRAME>


<script language=\"JavaScript\">
{
    document.all.frm.src=\'banner.htm\';   
}
</script>

</BODY>
</HTML>
Avatar billede dudal Nybegynder
19. april 2001 - 13:14 #7
<script language=\"JavaScript\">
{
    document.all.frm.location.replace=\'banner.htm\';
}
</script>

/dudal
Avatar billede nute Nybegynder
19. april 2001 - 13:15 #8
og...når du klikker back (når du står på denne side), så skjer hva sier du ? ingenting ?
Avatar billede myplacedk Nybegynder
19. april 2001 - 13:16 #9
Yeps, location.replace er som sagt en løsning. :)
Avatar billede dudal Nybegynder
19. april 2001 - 13:17 #10
<script language=\"JavaScript\">
{
    document.frm.document.location.replace(\'banner.htm\');   
}
</script>

Sådan skulle det være. :-)

/dudal
Avatar billede nikolajdu Nybegynder
19. april 2001 - 13:17 #11
Myplace er inde på noget at det rigtige. Altså noget i den her stil...

<script>
function startDu(){
location.replace(\'side3.htm\');
return false
}
</script>
<body onLoad=\"startDu()\">
Avatar billede kermit Nybegynder
19. april 2001 - 13:19 #12
Svar til NUTE >

Den går tilbage til siden empty i iframen !
Avatar billede nikolajdu Nybegynder
19. april 2001 - 13:19 #13
Dudal´s idé er nok en kende bedre. :-)
Avatar billede dudal Nybegynder
19. april 2001 - 13:20 #14
kermit >>> Prøv at paste den kode jeg skrev ind, og se om det ikke virker.
Avatar billede nute Nybegynder
19. april 2001 - 13:22 #15
back-knappen fungerer på \"hoved-dokumetet\" i din browser, så det du skl prøve (som det er foreslått) er å replace current location i din frame (som ved onLoad vil være empty.htm) med banner.htm...på den måte så replacer du history\'en til din iframe for gjeldende dokument
Avatar billede kermit Nybegynder
19. april 2001 - 13:27 #16
Hej Dudal,

Din kode virker fint :-) Men hvis jeg gør følgende opstår fejlen \"Adgang nægtet\" :::

* Henter min side
* Går tilbage til siden før den
* Går frem til \"min side\" igen (Her opstår fejlen)

Nogen forslag ???
Avatar billede dudal Nybegynder
19. april 2001 - 13:28 #17
Ligger de sider du snakker om på samme server?

/d
Avatar billede kermit Nybegynder
19. april 2001 - 13:34 #18
Ikke nødvendigvis !

Da jeg testede den gjorde jeg følgende:

* Ind på jubii
* Ind på min side
* Trykkede tilbage i browseren , kom tilbage til jubii
* Trykkede frem i browseren, kom tilbage til min side - men blev promtet med fejlen \"Adgang nægtet\".
Avatar billede nikolajdu Nybegynder
19. april 2001 - 13:48 #19
JavaScript er ikke altid så glad fo at køre mellem forskellige domæner..
Avatar billede myplacedk Nybegynder
19. april 2001 - 13:57 #20
Måske er problemet \"timing\". Prøv lige at sætte \"location.replace\"-tingen i noget der bliver kaldt efter siden er hentet.
Fx:
<body [...] onLoad=\"document.all.frm.location.replace=\'banner.htm\';\">
Avatar billede nikolajdu Nybegynder
19. april 2001 - 13:59 #21
Myplace - Det svarer nogenlunde til mit forsøg. ;-)
Avatar billede kermit Nybegynder
19. april 2001 - 14:21 #22
Nu loader jeg den via onload med samme fejl opstår !!!

Hjælp!!!!!!!!!!!
Avatar billede nikolajdu Nybegynder
19. april 2001 - 14:22 #23
Har du prøvet med sider på samme domæne?
Avatar billede kermit Nybegynder
19. april 2001 - 14:27 #24
Ja , samme fejl :-(
Avatar billede nikolajdu Nybegynder
19. april 2001 - 14:41 #25
Prøv at paste din kode som den ser ud nu.
Avatar billede kermit Nybegynder
19. april 2001 - 14:48 #26
<html>
<head>
<title></title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">

<script language=\"JavaScript\">
function banner()
{
      now = new Date();
    random = now.getTime();
    target1=\"http://scand.adlink.de/hserver/DKCATEGORY=BUSINESS/SITE=DK_KRAK_DK/AREA=CONTENT/KEYWORD=/AAMSZ=468X60\";
    document.frm.document.location.replace(target1 + \'/ACC_RANDOM=\' + random);
}
</script>
</head>

<body bgcolor=\"#CCCCCC\" topmargin=\"0\" marginheight=\"0\" marginwidth=\"0\" leftmargin=\"0\" onload=\"banner();\">


    <IFRAME SRC=empty.htm width=468 height=60 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no name=frm>
    </IFRAME>


</BODY>
</HTML>
Avatar billede dudal Nybegynder
19. april 2001 - 14:51 #27
Prøv med dettte:



function banner()
{
  if ( document.frm.document.location.href.indexOf(\'empty.htm\') != -1 ) {
      now = new Date();
    random = now.getTime();
    target1=\"http://scand.adlink.de/hserver/DKCATEGORY=BUSINESS/SITE=DK_KRAK_DK/AREA=CONTENT/KEYWORD=/AAMSZ=468X60\";;
    document.frm.document.location.replace(target1 + \'/ACC_RANDOM=\' + random);
  }
}

Avatar billede dudal Nybegynder
19. april 2001 - 14:51 #28
Prøv med dettte:



function banner()
{
  if ( document.frm.document.location.href.indexOf(\'empty.htm\') != -1 ) {
      now = new Date();
    random = now.getTime();
    target1=\"http://scand.adlink.de/hserver/DKCATEGORY=BUSINESS/SITE=DK_KRAK_DK/AREA=CONTENT/KEYWORD=/AAMSZ=468X60\";;
    document.frm.document.location.replace(target1 + \'/ACC_RANDOM=\' + random);
  }
}

Avatar billede dudal Nybegynder
19. april 2001 - 14:52 #29
Hov... Du må godt nøjes med at prøve det én gang. :-)

/d
Avatar billede kermit Nybegynder
19. april 2001 - 14:53 #30
Det hjalp ikke :-(
Avatar billede nikolajdu Nybegynder
19. april 2001 - 15:04 #31
Problemet er vel at du kalder et banner der ikke ligger på din egen server...

Dudal hvad siger du?
Avatar billede kermit Nybegynder
19. april 2001 - 15:06 #32
Jamen hvorfor virker det så første gang den bliver loadet ???
Avatar billede nikolajdu Nybegynder
19. april 2001 - 15:09 #33
Problemet er vel at første gang du loader er der intet i framen. 2. gang du loader ligger reklamen der og så opstår problemet. For den ligger ikke på samme server.
Avatar billede dudal Nybegynder
19. april 2001 - 15:10 #34
Tjah, jeg kæmper gør jeg.... Jeg kan sgu ikke fåettilåvirke.

Problemet er at siden er delvist chachet anden gang man kommer ind på siden. Dvs. iframen har stadig banneret (på en anden server), men javascriptet bliver kørt igen. Derfor får du access denied da der er en side fra en anden server i iframen. Første gang er det jo emty.htm der er i framen, derfor er der ingen problemer da den ligger på samme server.

/dudal
Avatar billede kermit Nybegynder
19. april 2001 - 15:22 #35
Det må da kunne lade sig gøre ?
Avatar billede kermit Nybegynder
20. april 2001 - 10:28 #36
*snøft*
Avatar billede kermit Nybegynder
20. april 2001 - 10:29 #37
Hæver til 1000 point !
Avatar billede dudal Nybegynder
20. april 2001 - 10:49 #38
Vi prøver igen.. :-)

Dette giver ikke fejl hos mig:

<html>
<head>
<title>www.krak.dk</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">


<body onload=\"loadBanner();\" bgcolor=\"#CCCCCC\" topmargin=\"0\" marginheight=\"0\" marginwidth=\"0\" leftmargin=\"0\">

<IFRAME SRC=empty.htm width=468 height=60 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no name=frm></IFRAME>


<script language=\"JavaScript\">
function loadBanner() {
document.frm.location.replace(\'http://www.builder.dk\');   
}
</script>

</BODY>
</HTML>

/dudal
Avatar billede kermit Nybegynder
20. april 2001 - 10:54 #39
Hej Dudal,

Ja dit eksempel virker fint. Men ikke når jeg bruger den url som jeg skal bruge :-( Kan du få det til at virke ???

<html>
<head>
<title>www.krak.dk</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">


<body onload=\"loadBanner();\" bgcolor=\"#CCCCCC\" topmargin=\"0\" marginheight=\"0\" marginwidth=\"0\" leftmargin=\"0\">

<IFRAME SRC=empty.htm width=468 height=60 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no name=frm></IFRAME>


<script language=\"JavaScript\">
function loadBanner() {
now = new Date();
random = now.getTime();
target1=\"http://scand.adlink.de/hserver/DKCATEGORY=BUSINESS/SITE=DK_KRAK_DK/AREA=CONTENT/KEYWORD=/AAMSZ=468X60\";   
document.frm.document.location.replace(target1 + \'/ACC_RANDOM=\' + random);


}
</script>

</BODY>
</HTML>

Avatar billede dudal Nybegynder
20. april 2001 - 16:18 #40
Vi prøver lige en mere. :-)

Det er lidt et hack, men det virker med dit banner hos mig.

På din side skriver du:
<body onload=\"loadBanner();\" bgcolor=\"#CCCCCC\" topmargin=\"0\" marginheight=\"0\" marginwidth=\"0\" leftmargin=\"0\">

<IFRAME SRC=\"empty.htm\" width=468 height=60 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no name=frm></IFRAME>

<script language=\"JavaScript\">
function loadBanner() {
document.frm.document.location.replace(\'t.htm\');

}
</script>

t.htm er så en \"hack\" side som gør at vi ikke får en access denied. Den skal indeholde:

<html>
<head>
    <title>Untitled</title>
</head>

<body leftmargin=\"0\" topmargin=\"0\">
<script language=\"JavaScript\">
now = new Date();
randomText = now.getTime();
target1=\"http://scand.adlink.de/hserver/DKCATEGORY=BUSINESS/SITE=DK_KRAK_DK/AREA=CONTENT/KEYWORD=/AAMSZ=468X60\" + \"/ACC_RANDOM=\" + randomText;
document.write(\"<IFRAME SRC=\'\" + target1 + \"\' width=468 height=60 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no name=frm1></IFRAME>\");
</script>




</body>
</html>


Nu håber jeg sgu at det virker. :-)

/dudal
Avatar billede jakoba Nybegynder
20. april 2001 - 22:47 #41
Her er et script der i det mindste virker.
dvs backbutton virker i første klik, og siden kan reloades så tit du vil.

men det forklarer ikke HVORFOR  det der med replace(url) ikke ville virkede.
same-origin violation, ret sikkert men hvorfor på reload?

<html>
<head>
<title>din titel</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">

</head>

<body bgcolor=\"#CCCCCC\" topmargin=\"0\" marginheight=\"0\" marginwidth=\"0\" leftmargin=\"0\">

<script language=\"JavaScript\">

var now = new Date();
var random = now.getTime();

document.write( \"<IFRAME SRC=\'http://scand.adlink.de/hserver/DKCATEGORY=BUSINESS/\"
            + \"SITE=DK_KRAK_DK/AREA=CONTENT/KEYWORD=/AAMSZ=468X60/ACC_RANDOM=\"
            + random +  \"\' width=468 height=60 marginwidth=0 marginheight=0 \"
            + \"hspace=0 vspace=0 frameborder=0 scrolling=no name=\'ifrm\'></iframe>\" );

</script>

</BODY>
</HTML>
Avatar billede jakoba Nybegynder
20. april 2001 - 22:54 #42
Ups. eksperten.dk har indsat det sedvanlige ;-tegn forenden af første linie i document.write sætningen. det ; skal IKKE være der.
Avatar billede dudal Nybegynder
22. april 2001 - 02:18 #43
jacoba >>> Problemet er nok bare at han gerne vil vente med at loade banneret til siden er færdigloaded. Det løser dit eksempel jo ikke.

/dudal
Avatar billede jakoba Nybegynder
22. april 2001 - 05:04 #44
Nåe, nej det havde jeg ikke opfattet, jeg troede det bare var for at få en random parameter med i adressen
Avatar billede lokipoki Nybegynder
22. april 2001 - 13:38 #45
Følgende kode giver ikke Access denied når man går frem til siden igen. Det gjorde det tilgængæld hvis jeg brugte

document.frames.iframe1.document.location.replace()

istedet for

document.frames.iframe1.location.replace()

#######################################

<html>
<head>
<title>IFrame test</title>
</head>

<script>

function reload()
{
    document.frames.iframe0.location.replace(\"http://ad.dk.doubleclick.net/viewad/547213-stepstone_20010110_denmark_468x60_012.gif\");

    document.frames.iframe1.location.replace(\"http://images.spray.se/ads/replay/replay_easter_banner_468.gif\");
}

function unload()
{
    document.frames.iframe0.location.replace(\"tom.htm\");
    document.frames.iframe1.location.replace(\"tom.htm\");
}

</script>

<body onload=reload() onunload=\"unload()\">

<iframe id=iframe0 src=\"tom.htm\"></iframe>
<iframe id=iframe1 src=\"tom.htm\"></iframe>

</body>
</html>
Avatar billede dudal Nybegynder
30. april 2001 - 18:34 #46
Øhhh... Kermit. Virker koden eller hvad sker der?

/dudal
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