Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][CSS] Wyświetlanie skryptu kanału RSS w FF ok, problem z IE
Forum PHP.pl > Forum > Po stronie przeglądarki > CSS
floydrose
Zbudowałem stronę i zawarłem na niej 3 skrypty. Po lewej stronie znajdują się 2: jest to czytnik RSS (NEWS - informacje muzyczne) oraz LICZNIK graficzny odwiedzin. Po prawej stronie znajduje się drugi czytnik RSS (AUKCJE - mój kanał z serwisu allegro).

Rzecz w tym, że pod FF wszystko jest ok - a pod IE8 nie. Każdy wyraz z RSS i grafika z licznika odwiedzin znajdują się w nowej linii. Prawy skrypt kanału RSS (tak samo zbudowany, co ten po lewej) wyświetla się poprawnie.





Co mam podesłać, sprawdzić, etc. aby to oczywiście poprawić na obie przeglądarki?
erix
Bez kodu to wiesz, co można. [;
floydrose
Kod czego mam podesłać?

Skrypt czytnika RSS ze strony Allegro znajduje się tutaj. Różnica do tego, który się "rozstrzela" na każdą nową linię tkwi wyłącznie w tym, że RSS Allegro ma czas aktualizacji wiadomości równy 0 (chciałbym mieć 30, ale nie pokazuje wtedy "brak aktualnych ofert w serwisie allegro" - jeśli wiesz jak to wykonać, to kliknij w link koniecznie smile.gif ), a RSS wiadomości NEWS po lewej ma wartość 60 (co godzinę) oraz została usunięta jedna linia w RSS Allegro usuwająca puste linijki. Po identycznym ustawieniu skryptu do tego po prawej stronie (działającego), efekt rozstrzelenia w IE8 nadal istnieje.

Co jest potrzebne do usunięcia błędu?

Kod licznika graficznego:
  1. <?
  2. ### IMAGE FORMAT
  3. $format = ".png";
  4.  
  5. $file = file("count.txt");
  6. $num = ($file[0] + 1);
  7. exec("echo $num > count.txt");
  8. switch($type) {
  9. case "text":
  10.  echo $num;
  11.  break;
  12. case "gfx":
  13.  $i = 0;
  14.  $cntn = strlen($num);
  15.  while($i < $cntn) {
  16.   $tmpnum = substr($num, $i, 1);
  17.   echo("<img src=\"$dir/$tmpnum$format\">");
  18.   $i++;
  19.  }
  20.  break;
  21. case "q":
  22. break;
  23. default:
  24. echo("count.php <b>error</b> : type not specified.");
  25. break;
  26. }
  27. ?>


kod lewej części strony:

  1. <TABLE width="125" height="20" valign="top" align="center" border="0" cellpadding="0" cellspacing="0">
  2. <TR>
  3. <TD background="2.png" align="center" ID="oddz">NEWS</TD>
  4. </TR>
  5. <div style="margin-left:10px;margin-top:10px;margin-bottom:10px;margin-right:5px;">
  6. <table border="0" width="100%" cellspacing="0" cellpadding="0">
  7. <tr>
  8. <td width="20" valign="top" align="left"><font color="navy"><? include("rss/rss.php");?></font></td>
  9. </tr>
  10. </div>
  11.  
  12. <TABLE width="125" height="20" valign="top" align="center" border="0" cellpadding="0" cellspacing="0">
  13. <TR>
  14. <TD background="2.png" align="center" ID="oddz">LICZNIK</TD>
  15. </TR>
  16. <div style="margin-left:0px;margin-top:10px;margin-bottom:10px;">
  17. <table border="0" width="100%" cellspacing="0" cellpadding="0">
  18. <tr>
  19. <td width="20" valign="top" align="center"><? $type = "gfx"; $dir = "digits"; include("count.php"); ?> </font></td>
  20. </tr>
  21. </div>


kod czytnika RSS NEWS:

  1. <?php
  2.  
  3.  #===========================================
  4.  # Silnik tego skryptu zapożyczony został z czytnika RSS w wersji PHP z
  5.  # oprogramowania RSS GET, oryginalna wersja programu na stronie: <a href=\"http://www.aarondunlap.com\" target=\"_blank\">http://www.aarondunlap.com</a>
  6.  #===========================================
  7.  
  8.  $czas = 60; // Co ile ma być aktualizacja
  9.  
  10.  $folder = "rss/"; // Adres folderu, w którym znajdować się będą pliki z newsami.
  11.  
  12.  $adres = "http://www.rockmetal.pl/rss/rockmetal_news.rss"; // Adres URL do kanału RSS
  13.  $nazwa_kanalu = "RockMetal.pl"; // Tytuł kanału RSS
  14.  $liczba = 5; // Ilośc nagłówków newsów, które mają być wyswietlane
  15.  $target = "_blank"; // Opcja target="" dla newsów, możliwe: "_self" oraz "_blank"
  16.  $autoupdate = TRUE;
  17.  $trunc = FALSE;
  18.  $delim = FALSE;
  19.  
  20.  if (isset($_GET['rssHeadline'])) { $rssHeadline = $_GET['rssHeadline'];}
  21.  $basefile = $folder;
  22.  $folder .= md5($adres).".htm"; // Przygotowywanie nazw plików dla danego kanału
  23.  
  24.  #==========================
  25.  # Operacje związane ze sprawdzaniem aktualności nagłówków w pliku tekstowym
  26.  #==========================
  27.  
  28.  if (($czas > 0) && (is_file($folder)) && (((time()-filemtime($folder)) < ($czas * 60)))) {
  29.      include $folder;
  30.    $time = floor((time()-filemtime($folder)) / 60); // Sprawdza ile minut temu plik był aktualizowany
  31.      
  32.  } elseif (@fopen($adres,"r")) { // Sprawdza czy ma dostęp do kanału RSS
  33.  
  34.        #==========================
  35.      # Operacja związane z dodawaniem nowego nagłówka do pliku
  36.      #==========================
  37.  
  38.      $rssHandle = fopen($adres,"r") ; // Otwiera plik kanału RSS
  39.  
  40.      while (!feof($rssHandle)) {
  41.          $rssData .= fgets($rssHandle);
  42.      }
  43.  
  44.      #==========================
  45.      # Przygotowywanie newsa do włączenia do pliku
  46.      #==========================
  47.      $tag = "item ";
  48.      $rssData =  preg_replace("/<" . $tag . "(.|s)*?>/","<item>",$rssData);
  49.      $rssData = chop($rssData); // Usuwanie pustych spacji z końca linijek  
  50.      $rssData = ereg_replace("[r,\n]", "", $rssData); // Usuwwanie pustych linijek
  51.      $rssData = strstr($rssData,"<item>"); // Usuwanie wszystie przez <item>.
  52.        
  53.      #==========================
  54.      # Usuwanie zbędnych elemntów tak aby okrojona zawartość mogła zostać zapisana w pliku
  55.  
  56.      # Tagi <description></description> zostają pominięte
  57.      #==========================      
  58.      $tags_and_content_to_strip = Array("description");
  59.  
  60.      foreach ($tags_and_content_to_strip as $tag) {
  61.           $rssData = preg_replace("/<" . $tag . ">(.|s)*?</" . $tag . ">/","",$rssData);
  62.      }
  63.  
  64.      $rssData = str_replace("<item>","", $rssData); // usuwanie tagu <item>
  65.      $rssData = urldecode($rssData); // Zamiana wszystkich: %20 na spacje.
  66.      $rssData = str_replace(strstr("</channel>",$rssData),"",$rssData);
  67.      $rssArray = explode("</item>",$rssData); // Tworzenie tablicy z nagłówkami
  68.  
  69.        $title = array();
  70.      $link = array();
  71.  
  72.      #==========================
  73.      # Ten mechanizm tworzy tablice dla linków oraz nagłówków
  74.      #==========================  
  75.      $x = 0;
  76.      while($x < $liczba) {
  77.          $link[$x] = strstr($rssArray[$x],"<link>"); // usuwanie wszystkiego przed <link>
  78.        $link[$x] = ereg_replace("<link>","",$link[$x]);
  79.         $link[$x] = str_replace(strstr($link[$x],"</link>"),"",$link[$x]);
  80.         $link[$x] = trim($link[$x]);
  81.        $title[$x] = strstr($rssArray[$x],"<title>");
  82.          $title[$x] = ereg_replace("<title>","",$title[$x]); // Usuwanie <title> z części tytułu newsa
  83.          $title[$x] = str_replace(strstr($title[$x],"</title>"),"",$title[$x]); //  Usuwanie </title> oraz wszystkiego poza nim
  84.          $title[$x] = trim($title[$x]);
  85.            $title[$x] = str_replace("wieść: ","",$title[$x]);
  86.            $title[$x] = str_replace("galeria: ","",$title[$x]);
  87.            $title[$x] = str_replace("recenzja: ","",$title[$x]);
  88.        
  89.        if ($trunc != FALSE) { $title[$x] = str_replace(substr($title[$x],$trunc),"",$title[$x]); }
  90.        if ($delim != FALSE) { $title[$x] = str_replace(strstr($title[$x],$delim),"",$title[$x]); }
  91.        
  92.            if ($title[$x] == "") { $liczba = $x; break; } // Gdy już nie ma nagłówków zmienna $liczba przyjmuje wartość maksumalną.
  93.        $x++;
  94.      }
  95.  
  96.      #==========================
  97.      # Zapis do pliku
  98.      #==========================
  99.      $fp = fopen($folder, "w+");
  100.      $x=0;  
  101.      while ($x < $liczba) { // ta pętla zapisuje każdy link osobno.
  102.        fwrite($fp,"<img src=\"gwiazdka.gif\">&nbsp;<a class=\"menu3\" target=\"$target\" href=\"$link[$x]\">$title[$x]</a><br>\n");
  103.        $x++;
  104.      }
  105.     fclose($fp);
  106.     include $folder;
  107.  
  108. } else {
  109.    #==========================
  110.    # Zwracanie błędu gdy podany adres jest błędny.
  111.    #==========================
  112.    echo "<b>Nie mozna połączyć się z adresem: $adres. </b>";
  113.  
  114. }
  115.  
  116. ?>
erix
Mam na myśli wygenerowany HTML gdzieś wrzucony, żebym mógł "poklikać" po nim. tongue.gif
floydrose
a czy z tego co podesłałem nie da się nic wywnioskować i poklikać na tym, co udostępniłem? reszta nie ma przecież znaczenia
erix
Nie da się wywnioskować. Stylów CSS tu nie ma.

Cytat
nic wywnioskować i poklikać na tym

Jak odpalisz Firebuga/DragonFly/DevTools for IE na podstawie tego, co podałeś, to chyba jesteś jakimś magikiem.
floydrose
OK. Nie mogę zamieścić stylu CSS, ponieważ jest zbyt długi. Adres mojej strony. Wejdź i zobacz wygenerowane źródło. Jeśli potrzebna Ci zawartość pliku CSS, to pewnie sobie poradzisz z jego odczytaniem, ewentualnie podaj mail smile.gif . Dzięki za zainteresowanie tematem, czekam na wyczerpującą odpowiedź smile.gif
erix
No to o coś takiego mi chodziło...
  1. zdecyduj się - albo korzystasz z HTML, albo z XHTML
  2. <font />?! Pomijam już fakt, że z tego się po prostu nie korzysta, ale musiałeś ten znacznik potraktować jako uniwersalny worek na wszystko?
  3. menu zrób na listach wyliczeniowych, nie rób chały
  4. http://osiolki.net/tabelki - nie pomagam przy tabelkowych layach, bo to zupa tagowa
Przejdź na normalne tworzenie layów, wtedy pogadamy.
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.