Avatar billede dan_n Nybegynder
22. september 2002 - 14:03 Der er 4 kommentarer og
1 løsning

iframe og print fra en anden mappe

Mit første problem går ud på at jeg gerne vil tvinge en bestemt side
til at blive åbnet i en bestemt <iframe>.
'
(1)
Jeg har en index side, med navnet default.htm, i dette dokument har jeg lavet en <iframe>
med navnet "content" . Denne <iframe> refere til et andet dokument kaldet forsiden.htm,
altså:

<iframe src="forsiden.htm" name="content">

Det jeg ønsker at er et javascript som sikre at man ikke kan åbne forsiden.htm uden for
iframen med navnet "content", hvis siden alligevel åbnes, fra fx en søgemaskine, skal den
brugeren omdiregeris til default.htm, hvor referencen/src= er forsiden.htm.

Da jeg har flere undersider er det ikke nok bare at omdirigere den besøgende til forsiden,
men også åbne den pågældende side som brugeren ønsker at besøge i den specifikke iframe
"content".

Jeg ved ikke om det kan lade sig gøre men, det er vil nogenlunde det samme princip som en
framebuster bare omvendt.

Det var mit første problem, og nok det sværeste.

(2)
Min andet problem ligger i at jeg gerne vil have et hvilket som helt dokument til at
blive udskrevet, ved et link som dette:

<a href="java script:window.print()"><img src="gfx/print.gif" /><a/>

Jeg er lidt af spade til javascript men måske er det noget denne retning.

<a href="java script:location.www.mindomæne.dk/denne_side_skal_printes.htm.print()"><img src="gfx/print.gif" /><a/>

Ovenstående er ikke rigtigt men giver forhåbentlig jer hajer en ide og hvad jeg mener, jeg vedgodt det er
lidt kringlet skrevet. den side jeg ønsker udskrevet ligger atså ikke i den sammen mappe som siden hvor linket er placeret.

Jeg håber at nogle af jer hajer gider at hjælp.

FreeRider
-/ www.skitips.dk \-
-| Det er her det sner |-
Avatar billede jakoba Nybegynder
22. september 2002 - 14:05 #1
1)  var pegepind = window.open( 'dinurl.html', 'content' );
  den finder din iframe hvis den findes, ellers åbnes et nyt vindue med siden.
Avatar billede jakoba Nybegynder
22. september 2002 - 14:07 #2
2)  pegepind.focus();
    pegepind.print();
men det kræver at siden du pronter kommer fra samme domæne som den side hvor koden står. ellers kan det vist ikke lade sig gøre.

mvh JakobA
Avatar billede dan_n Nybegynder
22. september 2002 - 14:08 #3
kan du uddybe det lidt ??

hvis en bruger fra en søgemaskine havner på min side forsiden.htm, kan han kun se indholdet har han ingen menu at navigere rundt på, dette script kan da ikke omdiregigere brugen fra siden forsiden.htm til default.htm, men forsiden.htm som taget i iframen "content"
Avatar billede jakoba Nybegynder
22. september 2002 - 14:17 #4
Undskyld, jeg læste ikke dit spørgsmål 1) ordentligt.

Det kan løses med almindelige framesets: http://hjem.get2net.dk/Jakob.Aggernaes/temp/expframe.html
men jeg vil nødigt binde an med det for iframes hvor siden udenom jo kan indeholde altmuligt.

du kan evt lave noget i retning af

<script type='text/javascript'>

if ( self.name != 'content' ) {  //giv rammen et mere usævanligt navn
    self.location.href= "hovedside.html?content=" +escape( self.location.toString() );
}

</script>

og så lade hovedside checke for en urlparameter ved navn content at lægge i den iframe.
men jeg mener at huske der er problemer med det i netscape 4.
Avatar billede dan_n Nybegynder
24. september 2002 - 12:06 #5
Tak for hjælpen

Jeg har brugt et scipt, så simpelt som dette:

if (top.location == self.location) {
    top.location.href = "default.htm"
}

og det virker også på en <iframe>.

FreeRider
-/ www.skitips.dk \-
-| Det er her det sner |-
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