Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SOLVED] Zbędny, dynamiczny kod z nieznanego źródła
Forum PHP.pl > Forum > Po stronie przeglądarki
Lewiatan
Witam.

Mam dość dziwny, a za razem ciekawy problem.

Na stronie z portfolio jest lista z wykonanymi pracami. Każdy blok ma miniaturkę, oraz nagłówek i krótki opis (nie trudno zauważyć). Problem polega na tym, że "coś" dodaje znacznik "font" do nagłówka i opisu. Co najciekawsze, pierwszy nagłówek jest ok, a reszta jest "upiększona".

Jeśli wejdziemy na stronę przez ten odnośnik to jest jeszcze inaczej. Pierwsze cztery nagłówki i opisy są ok, dalej już z dodatkami.

Na początku myślałem, że to tagi dołożone przez CKeditor, ale nie, wyniki w bazie są czyste. Jak spojrzeć w źródło to też jest czysto, dopiero w konsoli widać dodatkowy tag.

Wyłączałem (wręcz usuwałem z kodu) wszystkie skrypty. Dalej to samo. O dziwo, kiedy odpali się stronę w IE9 wszystko jest OK.

Na innych podstronach problem nie występuje.

Może ma ktoś z Was pomysł co to może być? Mi pomysły na dalsze dochodzenie się wyczerpały.

Mój stan na chwilę obecną:
rocktech.pl
Witam.

Odpowiedź serwera jest bez tagu font. Szukam i powiem ci że fajna zagwozdka. Stawiam na FF.
viking
Przecież masz w źródle strony też. + pozostały śmietnik jaki robi źle ustawiony ckeditor.
Lewiatan
Cytat(rocktech.pl @ 9.10.2012, 18:57:59 ) *
Witam.

Odpowiedź serwera jest bez tagu font. Szukam i powiem ci że fajna zagwozdka. Stawiam na FF.

Zagwozdka rodem z House'a biggrin.gif

Generalnie korzystam z Kohany 3.2. Zapewne nie ma to znaczenia, dla samej sprawy, ale KO ma przyjemną funkcję "Debug::vars()" która działa dokładnie jak
"var_dump()" z tym, że wygląda lepiej i łatwiej się używa.

Z czystej ciekawości wrzuciłem cały nagłowek w ten oto sposób
  1. echo Debug::vars('<h2>'.$item->name.'</h2>');

O dziwo cały blok z wynikiem debuggera był "opleciony" font tagiem.
Również wywalałem klasy z div'ów i to samo.

Jeszcze mam pomysł, żeby skopiować wszystko na mój domowy serwerek i sprawdzić czy sprawa będzie miała się tak samo, ale to już historia nie na dziś.

Stronę testowałem w FF, Chrome, Opera, nawet Maxhon3 i efekt był identyczny. Jedynie w IE problem nie występuje. Przynajmniej nie widać by występował.


Cytat(viking @ 9.10.2012, 19:04:59 ) *
Przecież masz w źródle strony też. + pozostały śmietnik jaki robi źle ustawiony ckeditor.

Ja w źródle nic nie widze. W bazie kod też jest czysty.

Generalnie sam nagłówek do bazy trafia via zwykły input. Jedynie opis jest edytowany przy pomocy CKeditora.
kokers
W bazie wygląda, że jest czysto - "Czarli Meble" na jednej podstronie jest z tym tagiem a na innej (tej z sort-em) już nie ma tego tagu.
żaden JS też tego nie robi - w FF mam domyślnie JS wyłączony, a tag pomimo to jest tam.

W jaki sposób wyświetlasz te bloki? Jakiej funkcji używasz do tego? Jak wygląda jakaś pętla?

W IE9 jest dokładnie to samo, więc musi to być coś przy echo. coś w samym skrypcie wyświetlającym te bloki.

PS. Wyłącz sobie wyświetlanie błędów na stronie........ cała gama informacji.

Lewiatan
Cytat(kokers @ 9.10.2012, 19:45:07 ) *
W jaki sposób wyświetlasz te bloki? Jakiej funkcji używasz do tego? Jak wygląda jakaś pętla?


Funkcja która pobiera dane:
  1. private function _get_projects($sort_by = 'deadline')
  2. {
  3. $direction = 'DESC';
  4.  
  5. if ($sort_by == 'name') $direction = 'ASC';
  6.  
  7. return ORM::factory('project')->where('published', '=', 1)->order_by($sort_by, $direction)->find_all();
  8. }


Widok:
  1. foreach ($portfolio as $item)
  2. {
  3.  
  4. $img_path = $config->read_path.$config->portfolio['portfolio']['folder'].'/';
  5.  
  6. $services = $item->todo->where('done', '=', 1)->find_all();
  7.  
  8. $class = '';
  9. foreach ($services as $service)
  10. {
  11. $class .= ' '.url::title($service->service->title);
  12. }
  13.  
  14. echo '<div class="portfolio_box'.$class.'" data-date="'.date('y-m-d', $item->date_published).'">';
  15. echo '<div class="preview">';
  16. echo html::image('media/images/screen.png', array('class'=>'screen', 'alt'=>''));
  17. echo html::anchor('portfolio/profile/'.$item->id.'-'.URL::title($item->name, '-', true), html::image($img_path.$item->thumb, array('alt'=>$item->name)));
  18. echo '</div>';
  19. echo '<div class="description clearfix">';
  20. echo '<h2>'.$item->name.'</h2>';
  21. echo TEXT::limit_chars($item->description, 180, '...', true);
  22. echo html::anchor('portfolio/profile/'.$item->id.'-'.URL::title($item->name, '-', true), 'Profil firmy');
  23. echo '</div>';
  24. echo '</div>';
  25. }

Cytat(kokers @ 9.10.2012, 19:45:07 ) *
PS. Wyłącz sobie wyświetlanie błędów na stronie........ cała gama informacji.

Dzięki, wyłączone wink.gif
redeemer
Mi to wygląda na błędny kod html, a przeglądarki już same na podstawie przewidywania starają się go naprawić (dlatego np w IE działa). Na przykładach które podałeś wygląda na to, że w rekordzie Exantis jest otwarty, ale niezamknięty tag <font>. Nawet w IE widać różnicę w wyświetlaniu pomiędzy tym rekordem, a resztą na stronie.
kokers
czy wpis "Exantis" jest czysty w bazie? bo wywala się po raz pierwszy na tym:

  1. TEXT::limit_chars($item->description, 180, '...', true)


i na wpisie Exantis
Lewiatan
Cytat(viking @ 9.10.2012, 19:04:59 ) *
Przecież masz w źródle strony też. + pozostały śmietnik jaki robi źle ustawiony ckeditor.

Zwracam honor. Teraz w źródle też są font tagi. Wcześniej ich nie było.

Cytat(redeemer @ 9.10.2012, 20:24:22 ) *
Mi to wygląda na błędny kod html, a przeglądarki już same na podstawie przewidywania starają się go naprawić (dlatego np w IE działa). Na przykładach które podałeś wygląda na to, że w rekordzie Exantis jest otwarty, ale niezamknięty tag <font>. Nawet w IE widać różnicę w wyświetlaniu pomiędzy tym rekordem, a resztą na stronie.

Hmm... faktycznie, nie zwróciłem wcześniej uwagi, że różnica jednak jest. Szybko zerknąłem na kod i póki co nic nie wypatrzyłem, ale błędny html jest jakimś tropem i tłumaczyłoby takie zachowanie. Z pewnością się temu przyjrzę wink.gif

Cytat(kokers @ 9.10.2012, 20:25:28 ) *
czy wpis "Exantis" jest czysty w bazie? bo wywala się po raz pierwszy na tym:

  1. TEXT::limit_chars($item->description, 180, '...', true)


i na wpisie Exantis

Tak, wpis jest czysty. Nagłówek jak i opis. Tym bardziej, nagłówek jest wpisywany przez standardowy input więc ciężko go zaśmiecić.

EDIT
załapałem o co chodzi. Zaraz sprawdzę.

EDIT2
Case Solved. Oboje Panowie trafiliście w sedno. W opisie exantis był otwarty font tag (punkt dla "kokers") przez co przeglądarka dalej próbowała to naprawić (punkt dla "redemeer"). Double facepalm na moje przeoczenie, ale po prostu sprawdzałem kolejne wpisy które były "nieteges".

Dzięki wielkie za pomoc smile.gif
kokers
Cytat
Case Solved. Oboje Panowie trafiliście w sedno.

Pan i Pani jak już ;o) sorry za offtop
Lewiatan
Pani wybaczy, nie poznałem po avatarze smile.gif
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.