"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

window.innerWidth im IE

userohnenamen 10.08.2006 - 15:48 865 4
Posts

userohnenamen

leider kein name
Avatar
Registered: Feb 2004
Location: -
Posts: 15858
nabend

ich versuch gerade so eine art bildergalery zu coden, und will dafür einen gewissen automatismus schaffen, und zwar folgendes

man hat die z.b. 200pixel großen vorschaubilder und mit klick auf diese öffnet sich eine neue seite mit dem großen bild
da die großen bilder jedoch immer unterschiedlich groß sind kann ich das fenster nicht auf eine gewisse größe lassen, denn ich will das das fenster sich immer an die größe des bildes anpasst

mein problem ist jetzt folgendes:
die größe des bildes lässt sich ja ohne probleme feststellen, wo es bei mir jetzt allerdings happert ist danach die größe des fensters einzustellen

mit window.innerWidth gehts im FF ohne probleme und macht genau das was ich will
im IE klarerweise wieder nicht

jetzt hab ich mal etwas gegoogelt und ein script gefunden das mir zumindest die größe des fensters ausgeben kann

Code:
function getWindowWidth(win) {
  if (win == undefined)
    win = window;
  if (win.innerWidth) {
    return win.innerWidth;
  } else {
    if (win.document.documentElement && win.document.documentElement.clientWidth) {
      return win.document.documentElement.clientWidth;
    }
    return win.document.body.offsetWidth;
  }
}

problem hierbei: über diese aufrüfe lässt sich kein wert setzen, nur auslesen

somit ist das ganze wieder nicht zu gebrauchen für mich

mehr oder weniger hab ichs schon aufgegeben das ich nach seitenaufruf die seitengröße verändern kann, aber eventuell weiß von euch noch jemand etwas

tia

that

Moderator
Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11338
Ich halte es zwar generell für falsch, wenn eine Webseite Aufgaben des clientseitigen Windowmanagers übernimmt, aber folgenden Code verwende ich, um den Browser zum Testen verschiedener Auflösungen auf definierte Größen zu bringen:

Code:
function resize(x,y)
{
 if (navigator.appName=="Netscape") {
  window.outerWidth=x;
  window.outerHeight=y;
 }
 else
  window.resizeTo(x,y);
}

Hope it helps. Geht in IE und Mozilla/Firefox/Seamonkey. Andere Browser nicht getestet.

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4452
Eventuell sind noch gute Infos auf http://www.quirksmode.org/js/winprop.html zu finden.

userohnenamen

leider kein name
Avatar
Registered: Feb 2004
Location: -
Posts: 15858
danke, wird die tage mal ausprobiert

murcielago

Dr. Doom
Avatar
Registered: Oct 2002
Location: *
Posts: 2689
willst du ein neues fenster öffnen oder willst du das bild im selben fenster öffnen und das fenster verkleinern?

bei ersterem solltest einfach ein neues fenster machen und dem neuen fenster beim öffnen gleich die größe mitgeben vom bild, geht ja mit window.open(); die größe vom bild hast ja.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz