1. <script type='text/javascript'><!--
  2. blok = false;
  3.  
  4.  
  5. function footx()
  6. {
  7. if (blok)
  8. {
  9. return;
  10. }
  11.  
  12. var body = document.getElementsByTagName('body')[0];
  13. var html = document.getElementsByTagName('html')[0];
  14. var wrap = document.getElementById('wrapper');
  15. var footer = document.getElementById('footer');
  16. var viewheight = document.documentElement.clientHeight;
  17. body.style.height = 'auto';
  18. wrap.style.height = 'auto';
  19. var tabelka = document.getElementById('tabelka_do_zmiany');
  20. var browserName=navigator.appName;
  21.  
  22. if( body.offsetHeight < viewheight-31 )
  23. {
  24.  
  25. footer.style.position = 'absolute';
  26. wrap.style.position = 'absolute';
  27.  
  28. html.style.height = viewheight+'px';
  29. body.style.height = viewheight+'px';
  30.  
  31. if ( browserName == "Microsoft Internet Explorer" )
  32. {
  33. wrap.style.height = viewheight-32+'px';
  34. tabelka.style.height = viewheight-481+'px';
  35. }
  36. else
  37. {
  38. wrap.style.height = viewheight-31+'px';
  39. tabelka.style.height = viewheight-480+'px';
  40. }
  41.  
  42.  
  43.  
  44. blok = true;
  45. setTimeout(function() { blok=false; },100);
  46. }
  47. else
  48. {
  49. footer.style.position = 'relative';
  50. wrap.style.position = 'relative';
  51. }
  52. }
  53.  
  54. footx();
  55. window.onresize=footx;
  56. -->
  57. </script>
  58. <div class='clear'></div>


Zadaniem skryptu jest umieszczanie stopki na samym dole strony w momencie kiedy treści jest zbyt mało. W momencie kiedy treści jest odpowiednia ilość stopka umieszczana jest tuż pod nią.

W momencie kiedy jakiś fragment treści strony generowany jest przez JS (np. formularz zapytania, w którym można dodać nieskończoną ilośc pól umieszczanych kolejno pod sobą po kliknięciu w BUTTON dodaj nowe pola), IE jakby nie rozumie, że treść strony uległa zwiększeniu i nie zmienia pozycji stopki mimo uaktywnienia funkcji footx(); tuż po zmianie treści. Próbowałem rozwiązać ten problem pobierając po zmianie treści wysokość diva, w której jest ona umieszczona i za pomocą JS nadawać ją do styli. Nic to nie dało.

W najprostszym przykłądzie wstawiamy DIV o jakimś ID i nadajemy mu za pomocą JS wyskokość 10000px i to i tak nic nie daje, IE twierdzi, że tekstu nie jest za dużo.

Czy istnieje możliwość rozwiązania tego problemu?

Mam wrażenie, że IE pobiera wysokość tudzież szerokość strony ze źródła, a nie wyników działania JS i źróła razem.

Właśnie odkryłem, że problem tyczy się również FF