Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Odczytanie szerokości ramki
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Muniek
A ja mam pytanie tongue.gif

Czy JS ma możliwość odczytania szerokości jednej ramki?

To znaczy: mam stronę podzieloną w układzie np. * | 600 | *. I chodzi mi o to, czy da się odczytać jakimś sposobem szerokość ramek, których szerokość we frameset jest zdefiniowana przez * ?

Próbowałem, ale nie wpadłem na to.... sad.gif
cfk
trudno będzie...jakbyś miał podzieloną *600 albo 600* to byłoby proste a tak....może jakoś w css
Muniek
Wiem że gdyby jedna była oznaczona * to byłoby proste, na tym polega trick. biggrin.gif Już od zmysłów odchodzę od szukania tego badziewia i nic.

Może jednak ktoś coś wie? HELP!!!!!

Cytat
może jakoś w css


Hmmm... A co byś przykombinował z CSS'em?
dr_bonzo
Niestey dziala tylko pod Firefoxem
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
  3. <!--
  4. author me
  5. firefox: ok
  6. -->
  7. <head>
  8. <script type="text/javascript">
  9.  
  10. function obliczWielkosciRamek()
  11. {
  12. frameset = document.getElementById( 'fr_set' );
  13.  
  14. frames = frameset.getElementsByTagName( 'frame' );
  15.  
  16. results = "";
  17.  
  18. for ( i = 0; i < frames.length; i++ )
  19. {
  20. // firefox
  21. results += frames[ i ].id + ": " + frames[ i ].scrollWidth + "px\n";
  22. // results += frames[ i ].name + ": " + frames[ i ].offsetWidth + "px\n";
  23.  
  24. // opera
  25. //results += frames[ i ].name + ": " + frames[ i ].offsetWidth + "px\n";
  26. }
  27.  
  28. alert( results );
  29.  
  30. }
  31. </script>
  32. </head>
  33. <frameset cols="*, 600, *" onload="obliczWielkosciRamek()" id="fr_set">
  34. <frame src="01.html" id="frame_01" name="frame_01"/>
  35. <frame src="02.html" id="frame_02" name="frame_02" />
  36. <frame src="03.html" id="frame_03" name="frame_03" />
  37. </html>


lub... drugie rozwiazanie za chwile
No jednak go nie bedzie -- nie potrafie.
Muniek
Dzięki dr_bonzo!!!

Od bidy przed chwilą wpadłem na jeszcze inne rozwiązanie, trochę prowizoryczne, ale jest...

Otóż wykrywam rozdzielczość, odejmuję od szerokości rozmiar starej ramki i resztę dzielę przez dwa. Tyle. Scrollbara nie będzie, to na pewno, więc nie muszę się martwić o jego szerokość.

Dopiero na to wpadłem i muszę rozpisać, ale... Heh... może coś z tego będzie rolleyes.gif

A tak na marginesie, jak człowiek przyzwyczajony do pisanie pod IE to pod Firefoxem nagle straszne jaja się robią biggrin.gif
dr_bonzo
To moje drugie rozwiazanie mialo byc wlasnie tego typu -- tylko ze mialo byc uniwersalne -- nie tylko dla "*, 600, *" -- a ze bylo przy tym troche roboty dalem sobie z tym spokoj.
Muniek
No tak, jeśli podejść do tego ambicjonalnie, to można się tym pobawić biggrin.gif

Ale mnie się już nie chce po prostu... Dostosuję skrypt do swojej strony, a reszta jak będzie chciała, to ma wzkazówki i pójdzie przykładem. O ile w ogóle komuś to się kiedyś przyda. Jednak takie rozwiązanie jest niezbędne do spozycjonowania swf'a z zachowaniem pozycji w stosie.

Dzięki za zaanagażowanie!

Pozdr!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.