Iframe-ben megnyitott Lightbox töltse be a teljes képernyőt
Hello!
Komoly problémám van. Találtama neten egy jó kis képnézegetőt (), de a lightbox.js fájlban nem tudom átírni a felugró ablak méreteit.
A probléma az, hogy az én oldalam felépítése olyan, hogy az index.html-ben van egy 200x200-as iframe, amibe be van töltve a galéria oldal, és ugyebár ezt az egész képnézegetőt abba kell betölteni, így ha rákattintok a galériában az egyik kiskép-linkre, akkor csak az iframe-ben bontakozik ki a lényeg, de nekem az kellene, hogy az egész képernyőt betöltse, vagyis az index.html méreteit vegye figyelembe, amikor lefut a script.
Itt van a részlet, ami szerintem erre vonatkozik, de ha ne jól gondoltam, légyszi nézzétek meg a belinkelt oldalon az egész scriptet!
Gondolom, valami parent-et kell berakni valahova, csak nem tudom, hogyan kell.
Előre is köszönöm!
■ Komoly problémám van. Találtama neten egy jó kis képnézegetőt (), de a lightbox.js fájlban nem tudom átírni a felugró ablak méreteit.
A probléma az, hogy az én oldalam felépítése olyan, hogy az index.html-ben van egy 200x200-as iframe, amibe be van töltve a galéria oldal, és ugyebár ezt az egész képnézegetőt abba kell betölteni, így ha rákattintok a galériában az egyik kiskép-linkre, akkor csak az iframe-ben bontakozik ki a lényeg, de nekem az kellene, hogy az egész képernyőt betöltse, vagyis az index.html méreteit vegye figyelembe, amikor lefut a script.
Itt van a részlet, ami szerintem erre vonatkozik, de ha ne jól gondoltam, légyszi nézzétek meg a belinkelt oldalon az egész scriptet!
getPageSize: function() {
var xScroll, yScroll;
if (window.innerHeight && window.scrollMaxY) {
xScroll = window.innerWidth + window.scrollMaxX;
yScroll = window.innerHeight + window.scrollMaxY;
} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
xScroll = document.body.scrollWidth;
yScroll = document.body.scrollHeight;
} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
xScroll = document.body.offsetWidth;
yScroll = document.body.offsetHeight;
}
var windowWidth, windowHeight;
if (self.innerHeight) { // all except Explorer
if(document.documentElement.clientWidth){
windowWidth = document.documentElement.clientWidth;
} else {
windowWidth = self.innerWidth;
}
windowHeight = self.innerHeight;
} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
windowWidth = document.documentElement.clientWidth;
windowHeight = document.documentElement.clientHeight;
} else if (document.body) { // other Explorers
windowWidth = document.body.clientWidth;
windowHeight = document.body.clientHeight;
}
// for small pages with total height less then height of the viewport
if(yScroll < windowHeight){
pageHeight = windowHeight;
} else {
pageHeight = yScroll;
}
// for small pages with total width less then width of the viewport
if(xScroll < windowWidth){
pageWidth = xScroll;
} else {
pageWidth = windowWidth;
}
return [pageWidth,pageHeight];
}
Gondolom, valami parent-et kell berakni valahova, csak nem tudom, hogyan kell.
Előre is köszönöm!
kimaradt link
Iframe mérete a korlát
Megoldás?
Sikerült megoldanod a problémát? Engem is érdekelne, mert pont egy hasonlóval küszködök!
köszi
naiv ;)
de a naivat nem ezért irtam! ugyanis elméletben rá lehetne venni a programot, hogy azt csinálja, amit te szeretnél és a megoldásban valóban jó eséllyel szerepelne a parent szó... viszont igy elsőre nekem úgy tűnik, hogy ez annyira bonyolult dolog volna, hogy épeszű ember nem lát hozzá... és úgy itélem meg, te sem tudnád megcsinálni.
sztem, ha ragaszkodsz a lightboxhoz, és energiát akarsz befektetni, akkor az iframe kiváltásán kéne elgondolkodni! miért van rá szükség? inkább itt keressük a megoldást, hagy ne kelljen megnézznünk a lightbox2 scriptjét :D
window.top
a szomorú helyzet az, hogy egy kicsit fejlesztened kell hozzá. Át kell írnod a lightboxot úgy, hogy a HTML feldolgozó része az iframen belül fusson, viszont az onclick event ne az iframe függvényét hívja, hanem a window.top. stb megfelelő függvényébe rugjon bele. Egyébként nem tudom, miért kényszerülsz iframe használatára (nekem is volt már szükségem rá) de arra számíts, hogy nem lesz egyszerű eset.
J
Szerintem se használj iframe-t.
Nem biztos.
ha nincs még megoldásod...
<link rel="stylesheet" href="lytebox.css" type="text/css" media="screen" />
ezt pedig az iframe dokumentumba:
forrás
remélem tudtam segíteni!
üdv,
szerk:
erről a scriptről van szó:
Lytebox
majdnem ugyanaz mint amit te is linkeltél, de nekem ennél működik.