" "Ko php kodo za to stran pregledam v urejevalniku, tega ne najdem nikjer znotraj kode. Kot CMS uporabljam Joomlo! 1.7, te vrstice pa se mi pojavljajo na mestih, kjer so v index.php vključeni moduli in komponente, vendar ne vedno in povsod, ampak samo na nekaterih mestih pri točno določenih straneh. Kodo sem pregledal že po dolgem in počez, vendar razloga za to ne najdem nikjer.
Na Strani Se Pojavlja Prazna Vrstica
Ustvaril
hitko
, sep 05 2011 21:21
Odgovorov v temi: 10
#1
Objavljeno 05 september 2011 - 21:21
Imam problem: Na moji strani se na določenih mestih pojavljajo prazne vrstice. Ko to pogledam z urejevalnikom kode neposredno znotraj brskalnika, mi te vrstice prikaže tako:
#3
Objavljeno 06 september 2011 - 15:42
Po izključitvi word wrap se mi v kodi prikaže
Če te narekovaje izbrišem v Inspect element, izgine tudi vrstica s strani, vendar se ponovno pojavi ko osvežim stran (presenečenje pa tako). Pojavlja se mi v vseh brskalnikih, v dejanski kodi pa tega ne najdem, lahko da se vrine v kodo med izvajanjem skript na serverju, ko se izvaja php? Imam Apache 2.2.17, PHP 5.2.14, MySQL 5.1.56, Perl 5.8.8, Kernel verzija je 2.6.18-338.12.1.el5.lve0.8.34PAE, arhitektura pa i686.
Opazil sem tudi, da se mi od časa do časa stran naloži tudi pravilno (brez takšnih vrstic), vendar se ob ponovni osvežitvi te vrstice spet pojavijo.
" "tista prazna vrstica pa ostane prikazana na strani tudi po refreshu in po praznjenju pomnilnika. In ta vrstica se mi ne pojavlja med besedilom, ampak med html kodo, kjer naj nebi bilo ničesar, npr:
<div class="art-postcontent"> " " <div class="jshop">ozirom
<div class="art-postcontent"> " " <div class="jshop">ko izključim word wrap.
Če te narekovaje izbrišem v Inspect element, izgine tudi vrstica s strani, vendar se ponovno pojavi ko osvežim stran (presenečenje pa tako). Pojavlja se mi v vseh brskalnikih, v dejanski kodi pa tega ne najdem, lahko da se vrine v kodo med izvajanjem skript na serverju, ko se izvaja php? Imam Apache 2.2.17, PHP 5.2.14, MySQL 5.1.56, Perl 5.8.8, Kernel verzija je 2.6.18-338.12.1.el5.lve0.8.34PAE, arhitektura pa i686.
Opazil sem tudi, da se mi od časa do časa stran naloži tudi pravilno (brez takšnih vrstic), vendar se ob ponovni osvežitvi te vrstice spet pojavijo.
#5
Objavljeno 07 september 2011 - 14:48
V izvirni kodi se ne pojavi, pojavi se samo pri inspect element, vendar povzroči, da je vsebina zamaknjena 15px nižje, kot bi morala biti in se na strani pojavlja neprijeten prazen prostor ter ne izgleda lepo. Ko to vrstico izbrišem v ispect element, se tudi vsebina premakne na svoje mesto (seveda le do ponovne osvežitve strani). Problem sem poskusil rešiti tudi tako, da sem vsebino s css zamaknil 15px više, vendar je bil potem še večji problem, saj se je vsebina prekrivala kadar je bila stran prikazana pravilno.
Še enkrat, problem:
- Na strani je pogosto vsebina na določenih mestih zamaknjena 15px nižje, kot bi morala biti
- V Inspect element je na mestu, kjer je ta napaka, prazna vrstica med narekovaji. Če jo izbrišem, se vsebina strani poravna kot bi morala biti
- V izvorni kodi te prazne vrstice med narekovaji ali česa podobnega ni, niti ni praznega prostora med > in < na mestu, kjer se napaka pojavi
- Pojavlja se v vseh brskalnikih (FF, IE in Chrome, vsi trije so posodobljeni in zadnje stabilne verzije) in na večih različnih računalnikih (XP, win7)
- Primer napake: http://kongregacija....govina/kosarica (modra črta na sredini bi morala biti v isti višini s tistima levo in desno zgoraj, vendar je pogosto zaradi te napake zamaknjena nekoliko nižje)
Še enkrat, problem:
- Na strani je pogosto vsebina na določenih mestih zamaknjena 15px nižje, kot bi morala biti
- V Inspect element je na mestu, kjer je ta napaka, prazna vrstica med narekovaji. Če jo izbrišem, se vsebina strani poravna kot bi morala biti
- V izvorni kodi te prazne vrstice med narekovaji ali česa podobnega ni, niti ni praznega prostora med > in < na mestu, kjer se napaka pojavi
- Pojavlja se v vseh brskalnikih (FF, IE in Chrome, vsi trije so posodobljeni in zadnje stabilne verzije) in na večih različnih računalnikih (XP, win7)
- Primer napake: http://kongregacija....govina/kosarica (modra črta na sredini bi morala biti v isti višini s tistima levo in desno zgoraj, vendar je pogosto zaradi te napake zamaknjena nekoliko nižje)
#7
Objavljeno 07 september 2011 - 19:32
hitko težko se strinjam s teboj, ker je tudi v izvorni koda presledek oziroma en kup presledkov.
Če skopiram te dva elementa:
<div class="art-postcontent">
<div class="jshop">
Nista postavljena skupaj, ampak so neki ali presledki ali neki drugi znaki vnešeni. Ker če drugi dve vrstici skopiraš ti jih prilepi vedno skupaj in ne s presledkom. Tako da preveri izvorno kodo in kodiranje, da niso kakšni čudni znaki vnešeni na omenjenem modulu. Mogoče tudi poskušaj spremeniti kodiranje iz enega ali drugega, pa boš videl v kaj ti tole pretvori in če se ti potem pokaže kaj naj bi bili te znaki...
Če skopiram te dva elementa:
<div class="art-postcontent">
<div class="jshop">
Nista postavljena skupaj, ampak so neki ali presledki ali neki drugi znaki vnešeni. Ker če drugi dve vrstici skopiraš ti jih prilepi vedno skupaj in ne s presledkom. Tako da preveri izvorno kodo in kodiranje, da niso kakšni čudni znaki vnešeni na omenjenem modulu. Mogoče tudi poskušaj spremeniti kodiranje iz enega ali drugega, pa boš videl v kaj ti tole pretvori in če se ti potem pokaže kaj naj bi bili te znaki...
#8
Objavljeno 07 september 2011 - 22:37
Prav imaš, Pentium, res so vmes neki zanki, ko sem prej gledal, sem jih verjetno ravno izbrisal iz kode, pa to ni problem, saj se mi je napaka pojavljala tudi ko sta bila > in < na videz povsem skupaj. Ko sem se prejle premikal po izvorni kodi s pritiskanjem puščice v desno, sem opazil, da moram takoj za <div class="art-postcontent"> puščico pritisniti dvakrat, da se kazalec premakne na naslednji znak. (skopiraj spodnjo kodo v notepad in poskusi)
<div class="art-postcontent"> <div class="jshop">Očitno gre za nevidni znak, in ko sem ga izbrisal (tako, da sem se pomaknil tik za > in pritisnil delete), vidne spremembe v kodi sicer ni bilo, je pa bila stran prikazana normalno, vendar na žalost ne morem ugotoviti, kje ta znak pride v kodo, tako da ga ne morem odstraniti. Ostali znaki so samo navadni tabulatorji in presledki, ki jih normalno ne prikazuje. Ima kdo kakšen nasvet?
#9
Objavljeno 08 september 2011 - 07:44
Poskušaj v kakšnem notepad++ odpreti in pretvori iz ANSI v kakšen UTF-8 ali UTF-8 without BOM in preveri ali se bo kakšen znak tam pojavil.
Drugače če to izbrišeš in shraniš, potem se ti še vedno pojavi na strani ta presledek v sami izvorni kodi? In datoteko ti uspe prepisati na strežniku?
Drugače če to izbrišeš in shraniš, potem se ti še vedno pojavi na strani ta presledek v sami izvorni kodi? In datoteko ti uspe prepisati na strežniku?
#10
Objavljeno 08 september 2011 - 17:26
Ko sem spremenil kodiranje, ni bilo nič boljše. Sicer pa Notepad++ ta zank pokaže kot ?, vendar ga drugje, kot v izvirni kodi, torej v nobeni .php datoteki, ne prikaže. Če to izbrišem v izvorni kodi, mi vrstica izgine, vendar se mi ob refreshu spet pojavi v izvorni kodi. Ko gledam kodo na strežniku (torej .php datoteke, ki sestavljajo to stran, npr. index.php, cart.php ipd.), tega znaka ni nikjer, v kodo se verjetno vrine ko jo server sestavlja (ko izvede .php skripte), saj bi se drugače morala ta vrstica pojaviti vedno, vendar se občasno ne pojavi. Prepiše mi samo verzijo na računalniku, verzije na strežniku pa ne, saj na strežniku ta datoteka dejansko ne obstaja, obstaja samo nekaj .php skript na podlagi katerih jo začasno ustvari in v nobeni od teh skript ne najdem tega znaka. Delno pa se mi zdi, da bi bila lahko napaka povezana s samo komponento Jshopping, saj pred večino delov te komponente prikaže to prazno vrstico, čeprav je ni nikjer v kodi.
Torej, če skopiram generirano HTML izvorno kodo in iz nje izbrišem ta znak, se mi prazna vrstica ne pojavi, toda ker ta koda na strežniku ne obstaja, ampak jo sproti zgenerira, tega tam ne morem storiti, niti je ne morem prepisati na strežniku.
Imaš mogoče kakšno idejo, kako bi lahko s CSS in kakšnim dodatnim divom naredil tako, da bi bil <div class="jshop"> vedno pomaknjen povsem do zgornjega roba <div class="art-postcontent"> in bi po potrebi prekril to prazno vrstico, kadar se pojavi? (samo top: -15px; ne deluje, ker je v tem primeru <div class="jshop"> zamaknjen previsoko, kadar se ta vrstica ne pojavi v kodi)
Torej, če skopiram generirano HTML izvorno kodo in iz nje izbrišem ta znak, se mi prazna vrstica ne pojavi, toda ker ta koda na strežniku ne obstaja, ampak jo sproti zgenerira, tega tam ne morem storiti, niti je ne morem prepisati na strežniku.
Imaš mogoče kakšno idejo, kako bi lahko s CSS in kakšnim dodatnim divom naredil tako, da bi bil <div class="jshop"> vedno pomaknjen povsem do zgornjega roba <div class="art-postcontent"> in bi po potrebi prekril to prazno vrstico, kadar se pojavi? (samo top: -15px; ne deluje, ker je v tem primeru <div class="jshop"> zamaknjen previsoko, kadar se ta vrstica ne pojavi v kodi)
#11
Objavljeno 19 september 2011 - 17:53
Problem sem rešil tako, da sem vsako pof**no .php datoteko (bilo jih je okrog 300, razmetanih po raznih podmapah) shranil v utf-8 without BOM kodiranju, kajti dokler sem spreminjal samo kodiranje glavnih, je bil problem še vedno prisoten. Medtem sem ugotovil npr. da je bil ta "nevidni znak" v resnici BOM, ki ga novejši brskalniki ne ignorirajo, kot bi ga morali in da je bil med drugim razlog za večino errorjev, ki so se mi pojavljali med testiranjem strani.
Dodaj odgovor
0 član(ov) bere to temo
0 članov, 0 gostov, 0 anonimnih uporabnikov











