Avatar billede madsokist Nybegynder
05. september 2001 - 10:52 Der er 16 kommentarer og
1 løsning

Spring mellem browsere

Jeg åbner et nyt browser vindue op når en bruger logger på mit website - i den ny browser har jeg nogle links der for nuværende åber en ny browser igen.

Kan det lade sig gøre at dirregere brugeren rundt fra den første popup - dermed forstået at brugeren klikker på et link i popupvinduet der så åbnes i den browser der åbnede popupbilledet.

Jeg er ligeglad med hvordan - det behøves ikke være en javascript løsning.

Jeg ved ikke om det overhovedet kan lade sig gøre, men det ville da være rart hvis det kunne :)

Madsokist
Avatar billede roenving Novice
05. september 2001 - 10:54 #1
Du kan adressere moder-vinduet direkte med opener, så f.eks.:

<A href=\"#\" onClick=\"opener.location=\'deAndetLink.html\'\">klik her</A>

hth
jes
Avatar billede madsokist Nybegynder
05. september 2001 - 11:01 #2
Jeg får en fejl

\"Modtageren (serveren [ikke serverprogrammet]) er ikke tilgængelig og forsvandt; alle forbindelser er ugyldige. Kaldet er ikke udført\"
Avatar billede roenving Novice
05. september 2001 - 11:05 #3
Jeg læser det, som har du en fejl i forbindelsen til serveren ?-)
Avatar billede madsokist Nybegynder
05. september 2001 - 11:06 #4
Der ser sådan ud, men uanset hvad jeg linker til så kommer den samme fejl. Skal jeg angive et filnavn - eller kan jeg angive fx. www.hotmail.com
Avatar billede madsokist Nybegynder
05. september 2001 - 11:07 #5
hvad med
opener.location.href
Avatar billede madsokist Nybegynder
05. september 2001 - 11:09 #6
Ahh - jeg har fundet fejlen - glem det!!
Avatar billede roenving Novice
05. september 2001 - 11:11 #7
Du skal angive en fuldstændig gyldig Url, men hvis det er på din egen server kan du nøjes med en relativ sti:
side3.html
/mineUndersider/side3.html
/mineUndersider/side3.html?etEllerAndet=nogetHeltTredje

men hvis du skal på andre sider er det rigtigt:
www.hotmail.com

location.href kan være bedre nogle gange, men skulle ikke give forskelligt resultat, derfor plejer jeg at bruge den, men glemte det lige her.

hth
jes
Avatar billede madsokist Nybegynder
05. september 2001 - 11:11 #8
Kan jeg træde flere skridt tilbage så jeg åbner siderne i en forgænger længere tilbage - altså \"bedstefaderen\" til det nye vindue??
Avatar billede madsokist Nybegynder
05. september 2001 - 11:12 #9
Tak for hjælpen i øvrigt :)
Avatar billede roenving Novice
05. september 2001 - 11:14 #10
Ja, opener gælder for alle window-objekter, så du kan i teorien rykke mange hundrede vinduer tilbage, men når du går længere ud i hierarkiet, kan det være nødvendigt at checke for om disse vinduer stadig findes:

if (opener.opener) opener.opener.location.href=\'denAllerfoersteSide.html\';

jes
Avatar billede madsokist Nybegynder
05. september 2001 - 11:19 #11
hehe - det åbner vinduet til noget forvirret kode.

Hvis jeg lukker \"faderen\" men holder \"bedstefaderen\" i live? så har jeg vel tabt forbindelsen og får den samme fejl fra tidligere.
Avatar billede roenving Novice
05. september 2001 - 11:22 #12
Ja, men opener er en egenskab ved window lige nu, men du kan opbevare det gamle window-objekt i en variabel, sådan noget som:

<script language=\'Javascript\'>
var pa=opener;
var grandPa=opener.opener;
</script>

og så kan du anvende grandPa selvom pa er lukket.
Avatar billede madsokist Nybegynder
05. september 2001 - 11:30 #13
Jeg sidder med en situation hvor Pa først åbner en ny browser - og lukker sig selv. Derfra skal sønnike have fat i grandPa :) - jeg kan ikke rigtig få det til at spille.
Avatar billede jakoba Nybegynder
05. september 2001 - 11:49 #14
Så må Pa fortælle sonny hvem bedstefar er før han lukker sig selv.
fx:

  var myson=window.open( \'winurl\', \'winnavn\', \'winfeatures\' );
  myson.bedstefar = self.opener;
  self.close();

Pas også på med det navn du giver som \'winnavn\' i window.open kaldet. Det skal være forskelligt for alle vine vinduer, ellers vil tidligere oprettede vinduer med det navn blive overskrevet.

og pas på hvis \'winurl\' i et eller flere af de åbnede vinduer kommer fra et fremmed domæne. (alle siderne bør komme fra samme domæne)
eg;
  var myson=window.open( \'www.yahoo.com\', \'winnavn\', \'winfeatures\' );
        // linien nedenunder fejler for nu tilhører det vindue yahoo så
        // du ikke har lov til oprette eller ændre noget i det.
  myson.bedstefar = self.opener;

mvh JakobA
Avatar billede roenving Novice
05. september 2001 - 11:50 #15
Nej, det kan du ikke, fordi du må sørge for at der er en direkte relation, når du skal have fat i objektet, så jeg ville gøre det, at jeg kaldte en funktion i det oprindelige window, altså:

function openNew(url){
var newWin=window.open(url, \'Ny popup\', \'width=400,height=300\')
}

Og så lavede dine links sådan:

<A href=\"#\" onClick=\"opener.openNew(\'deAndetLink.html\');\">klik her</A>

hth
jes
Avatar billede madsokist Nybegynder
05. september 2001 - 11:51 #16
Hvor fikst - jeg fandt ud af at man kan navngive vinduer vindow.name=\"main\"

hvorefter nedenstående åbner i det rigtige vindue ved hjælp af TARGET attributten kanon!!

<A HREF=\"http://www.nowhere.com/\" TARGET=\"main\">TEST </A>
Avatar billede roenving Novice
05. september 2001 - 11:57 #17
Yes -- en helt fin løsning, hvis du ikke skal andet programmeringsmæssigt med dem !~]
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