javascript - szerokość strony przeglądarki

0

do określania szerokości strony przeglądarki używam screen.availWidth - i wszystko gra ... dopóki user nie włączy bocznego paska z zakładkami w FF - jak włączy strona się źle wyświetla bo zmienna nie zmienia wartości - ma ktoś pomysł jak to obejść ?

0

chyba coś pomyliłeś
screen.availWidth oznacza poziomą rozdzielczość monitora minus pasek zadań windowsa (jeśli jest ustawiony po bokach)
to się pokrywa z szerokością strony tylko kiedy przeglądarka jest zmaksymalizowana co jest bez sensu

chodziło Ci raczej o window.innerWidth które określa dostępną szerokość wnętrza okna przeglądarki

poza tym używasz javascriptu do pozycjonowania elementów na stronie? tym powinieneś się zająć w css używając wartości procentowych, min-width, max-width itp.
Twoja strona w ogóle działa przy wyłączonym javascriptcie?

0
unikalna_nazwa napisał(a)

chyba coś pomyliłeś
screen.availWidth oznacza poziomą rozdzielczość monitora minus pasek zadań windowsa (jeśli jest ustawiony po bokach)
to się pokrywa z szerokością strony tylko kiedy przeglądarka jest zmaksymalizowana co jest bez sensu

chodziło Ci raczej o window.innerWidth które określa dostępną szerokość wnętrza okna przeglądarki

poza tym używasz javascriptu do pozycjonowania elementów na stronie? tym powinieneś się zająć w css używając wartości procentowych, min-width, max-width itp.
Twoja strona w ogóle działa przy wyłączonym javascriptcie?

masz rację - stronę robiłem 10 lat temu (stąd wszystko w js) i nie przyjrzałem się dokładnie - availWidth jest używany do powiększenia okna a potem przy założeniu że okno ma cały ekran rozmieszczam wg tego elementy - dopóki nie było paska działo ok teraz ktoś zwrócił mi uwagę że strona jest za szeroka ...;D
wiem że blamaż, na swoje usprawiedliwienie dodam że to jedyna strona jaką robiłem w życiu ...

dodano:
a już wiem czemu wtedy nie używałem window.innerWidth - otóż internet explorer poniżej wersji 9 nie obsługiwał tego po prostu - jeżeli to zmienię to właściciele starszych ie nie będą widzieć strony ...
da się to obejść takim zestawem instrukcji:

if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    xx = window.innerWidth;
    yy = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    xx = document.documentElement.clientWidth;
    yy = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    xx = document.body.clientWidth;
    yy = document.body.clientHeight;
  }

tak działa wszędzie ...

0

dzieki mi sie przydalo

1 użytkowników online, w tym zalogowanych: 0, gości: 1