Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX][JavaScript] problem ze skrypte pod IE
mac_synak
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 26.08.2010

Ostrzeżenie: (0%)
-----


Witam potrzebuje pomocy odnośnie skryptu js, który ładuje stronę bez przeładowywania jej w przeglądarce

Tak wygląda index.php w miejsce diva "content" ładowana jest zawartość "loader.php" w zależności o wybranej opcji w MENU GŁÓWNYM, które jest w pliku index.php ( to śmiga bez zarzutu).
Problem jest z SUBMENU wyłącznie pod IE, które znajduje się w "loader.php", a nie w "index.php", jak to można poprawić pod IE, proszę o pomoc, bo jestem w tym temacie zielony (IMG:style_emoticons/default/sad.gif)

  1. <script type="text/javascript">
  2. $(document).ready(function () {
  3.  
  4.  
  5. $.history.init(pageload);
  6.  
  7. $('a[href=' + window.location.hash + ']').addClass('selected');
  8.  
  9. $('a[rel=ajax]').click(function () {
  10.  
  11. var hash = this.href;
  12. hash = hash.replace(/^.*#/, '');
  13. $.history.load(hash);
  14.  
  15. $('a[rel=ajax]').removeClass('selected');
  16. $(this).addClass('selected');
  17. $('#body').hide();
  18. $('.loading').show();
  19.  
  20. getPage();
  21.  
  22. return false;
  23. });
  24. });
  25.  
  26. function pageload(hash) {
  27. if (hash) getPage();
  28. }
  29.  
  30. function getPage() {
  31. var data = 'page=' + encodeURIComponent(document.location.hash);
  32. $.ajax({
  33. url: 'loader.php',
  34. async: false,
  35. cache: false,
  36. type: "POST",
  37. data: data,
  38. success: function (html)
  39. {
  40. $('.loading').hide();
  41. $('#content').html(html);
  42. $('#body').fadeIn('slow');
  43.  
  44. }
  45. });
  46. }
  47.  
  48. </script>
  49. <link rel="stylesheet" href="images/style.css" type="text/css" />
  50.  
  51. <!--[if lte IE 7]>
  52. <link href="images/ie6.css"
  53. rel="stylesheet" type="text/css" />
  54. <![endif]-->
  55.  
  56. </head>
  57.  
  58. <div id="wrapper">
  59.  
  60.  
  61. <div id="logo"></div>
  62. <div id="menu_tlo">
  63. <ul id="menu">
  64. <li><a href="#O_nas" rel="ajax" title="Zespół Muzyczny Sonus">O nas</a></li>
  65. <li><a href="#Dlaczego_my" rel="ajax" title="Dlaczego zespół Sonus?" >Dlaczego my?</a></li>
  66. <li><a href="#Oferta" rel="ajax" title="Oferta muzyczna zespołu">Oferta</a></li>
  67. <li><a href="#FAQ" rel="ajax" title="Najczęśćiej zadawane pytania">FAQ</a></li>
  68. <li><a href="#Kontakt" rel="ajax" title="Kontakt z zespołem">Kontakt</a></li>
  69. </ul>
  70. </div>
  71.  
  72. </div>
  73.  
  74. <div class="loading"></div>
  75. <div id="body">
  76. <div id="content">
  77. <!-- Ajax Content -->
  78. </div>
  79. </div>
  80. </body>
  81. </html>
  82.  


Poniżej loader.php z SUBMENU, które pod IE nie działa ( wyświetla się, ale nie zmienia zawartości) , dopiero odświeżenie w przeglądarce powoduje przeładowanie treści.

  1. <?
  2.  
  3. switch($_POST['page']) {
  4. case '#O_nas' : $page = '
  5. <div id="foto">
  6. <ul id="submenu">
  7. <li><a href="#O_nas" rel="ajax" title="Biografia zespółu muzycznego Sonus">Zespół Muzyczny Sonus</a></li>
  8. <li><a href="#Galeria" rel="ajax" title="Galeria zespółu muzycznego Sonus">Galeria</a></li>
  9. </ul>
  10.  
  11. <div id="tekst">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</div></div>'; break;
  12.  
  13. }
  14.  
  15. echo $page;
  16. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
exood
post
Post #2





Grupa: Zarejestrowani
Postów: 86
Pomógł: 16
Dołączył: 2.12.2009
Skąd: Płock/Warszawa

Ostrzeżenie: (0%)
-----


może stara wersja jQuery? Pobierz najnowszą. Ja ostatnio też miałem jakiś problem z ajaxem przez jquery - coś pod ie nie zawsze działało i nie wiedziałem dlaczego. Podmiana z wersji 1.3.coś na najnowszą 1.4.coś pomogło.
Go to the top of the page
+Quote Post
mac_synak
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 26.08.2010

Ostrzeżenie: (0%)
-----


Niestety nie pomogło, podmieniłem na 1.4.2, nadal to samo, pod IE submenu nie działa... (IMG:style_emoticons/default/sadsmiley02.gif) A wie ktoś może jak wywołać skrypt js z index.php na stronie loader.php?(IMG:style_emoticons/default/questionmark.gif) Bo chyba w tym tkwi problem...

Ten post edytował mac_synak 27.08.2010, 09:50:53
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 08:48