Toon posts:

[JS] Verwijzen naar deel van pagina in een popup

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil dus een popup openen, en naar een deel van die pagina in de popup verwijzen. De variabele actief (wordt dus 'kaart.html#kaartje' wordt gehaald van een cookie.

function kaart(){
kaart = window.open('kaart.html#'+actief, 'kaart',"toolbar=no,location=no,resizable=no,status=no,scrollbars=no,menubar=no,width=425,height=350");
kaart.focus();
}

Het enige probleem is dat als je op kaart drukt, dat dan de popup wordt geopend, maar niet op het goede deel van de pagina.. Ook als je het venster hebt open staan, wil ik dat als je kaart() activeert dat je dan dezelfde pagina ziet. Dus dat in de oude popup een ander deel van de pagina verwezen wordt.

Verwijderd

Als die pop-up opent, en je drukt op F5, laat 'ie het dan wel zien? Die bug heb ik nl. een keer gehad.

Misschien heb je wat aan de method scrollIntoView, maar dan moet je in kaart.html ook scripten (en overal waar een bookmark staat een id bij zetten).

Verwijderd

Je kunt ook gewoon die popup openen, en daarin met een functie uitlzen waarna die moet scrollen.
bv. met ScrollTo() of gewoon een anchar, wat naar mijn weten wel zou moeten kunnen :)

Verwijderd

Ik zat daar ook al aan te denken, maar dan moet je er wel voor zorgen dat de hele inhoud van de popup telkens opnieuw gelezen moet worden, want anders geeft de verwijzing in de moederpagina naar een nieuw (ander) gedeelte een foutmelding. Je kun dus wel telkens in dezelfde popup de inhoud zetten via een document.write , en daarin in een klein script met enige vertaging het anker laten zoeken. Want de popup moet natuurlijk wel eerst beschreven zijn.

  • Morrar
  • Registratie: Juni 2002
  • Laatst online: 31-08 12:55
Volgens mij zou dit je moeten helpen:

var WinWidth = 425;
var WinHeight = 350;
var WinFeatures = "scrollbars=no";
var WinX = (screen.availWidth - WinWidth) / 2;
var WinY = (screen.availHeight - WinHeight) / 2;

var CardPopup = null;

function ShowMap(AnchorName)
{ if(CardPopup && !CardPopup.closed)
{ CardPopup.location = "kaart.html#" + AnchorName;
}
else
{ CardPopup = window.open("kaart.html#" + AnchorName,
"CardPopup",
"innerWidth="+WinWidth+
",innerHeight="+WinHeight+
",width="+WinWidth+
",height="+WinHeight+
","+WinFeatures);

//Mind u, these will return an error if
//kaart.html is on another domain
CardPopup.moveTo(WinX, WinY);
CardPopup.focus();
}

En aanroepen met:

ShowMap("kaartje1");

bijvoorbeeld, als hij naar een anchor met naam "kaartje1" moet springen. Script houdt zelf bij of het popupje nog bestaat. Dit script is een beetje een verbouwing van een generiek popup dingetje dat ik ooit gemaakt heb.. Hopelijk is de verbouwing zo correct... En excuses voor de layout van de code, ik probeer het netjes op het forum te krijgen zeg maar ;-)

Suc6

Verwijderd

Bovenstaande uitgeprobeerd, en werkt inderdaad. Alleen
onderaan nog iets veranderd.
code:
1
2
3
4
5
6
7
//Mind u, these will return an error if
//kaart.html is on another domain
}
CardPopup.moveTo(WinX, WinY);
CardPopup.focus();
}
</script>

  • Morrar
  • Registratie: Juni 2002
  • Laatst online: 31-08 12:55
Ha correct...

Sjah die verbouwingen om drie uur 's nachts gaan wellis mis... :)
Pagina: 1