Problém s atributem title v PHP
Pracuji s CMS PHP-Fusion a jedno rozšíření obsahuje mimo jiné tento kód:
echo "<a href='".BASEDIR."messages.php?msg_send=".$data['user_id']."'><img src='".INFUSIONS."shoutbox_panel/images/pm.png' title=\"header=[<img src='".INFUSIONS."shoutbox_panel/images/info.gif' style='vertical-align: middle;'> ".$locale['fb_007']."] body=[".phpentities($locale['fb_035'])."] delay=[0] fade=[on]\" alt='' border='0'></a> ";
V zásadě jde o to, že při najetí na obrázek (pm.png) se objeví speciální nápověda (text se tahá z externích souborů - $locale). Ve FF a IE je to OK, ale v Opeře se přes speciální nápovědu objeví standardní "title" s tetxtem
[<img src='".INFUSIONS."shoutbox_panel... atd.
Existuje nějaká možnost, jak to odladit i pro Operu?
Díky.
Najjednoduchšie bude upraviť JavaScript, ktorý sa stará o ten efekt, aby nastavil prázdny title.
Los opět nezklamal...
Zkusím to a ohlásím výsledek...
Díky.
V tom kódu, co jsi dal, žádný title nevidím. Tak jak jej může Opera zobrazit?
Je tam, popojeď posuvníkem...
Spíš mám problém, že vůbec netuším, kde to najít v tom javascriptu...
Posuvníkem jsem popojel, ale neviděl. Teď už jo.
Ono by tam v podstatě to title nemuselo ani být, když bublinu obstarává javascript, ne?
No, to jsem se ale hrubě přecenil...
Ten script se jmenuje BoxOver a je převzat tady odsud:
BoxOver
Můžete se na to někdo podívat?
Díky moc.
Ten skript už nastavuje prázdny title v udalosti mousemove dokumentu - to je ale pre Operu už trochu neskoro. Výsledkom je, že title sa zobrazuje iba pri prvom prejdení myšou.
Jedna možnosť je zavolať na začiatku funkciu scanBO na elementoch, kde sa má ten efekt zobrazovať. Čiže napr. na koniec funkcie init:
Alebo ďalšia možnosť je ignorovať drobný nedostatok v Opere, prípadne ešte lepšie by bolo vyhodiť ten skript úplne.
Píšu si... Losovo pravidlo č.1: "Kde není žádný skript, nejsou žádné chyby".
Předpokládám, že to neslyšíš poprvé ani naposled - ale jsi génius! Právě jsi po letmém pohledu opravil cosi, co nějaký člověk vyvíjí dva roky... Slušné...
A přece ještě jedna drobnost... Funguje to skvěle, ale když se ten shoutbox (protože toje z kódu pro něj) sám o sobě obnoví (AJAX), Opera opět ukazuje ten argument title...
Po nahraní obsahu do toho shoutboxu nainicializuj všetky prvky v ňom pomocou toho istého kódu.
(Vo funkcii, kde nahrávaš obsah do elementu, máš určite v nejakej premennej uložený ten element. Namiesto "document" môžeš napísať meno tej premennej, aby to bolo o trochu lepšie.)
Losi, nejen že se přeceňuji já, ale hlavně mě, bohužel, přeceňuješ ty... Já jsem schopen tak maximálně použít if...else, nebo tak něco... Všechnno se učím svépomocí za pochodu, protože jsem se rozhodl, že si své stránky budu dělat sám... Jinými slovy, zkus to prosím říct hodně polopaticky...
Ve finále jsem to vyřešil tím, že jsem vykopal ten ajax, v zásadě jsem to obnovování nepotřeboval a rozhazovalo to češtinu tak obskurním způsobem, že jsem to vzdal a nemrzí mě to... Nicméně přece jen ještě jeden dotaz... Ten script nastavuje bublinovou nápovědu a já bych potřeboval u najetí na jeden typ prvků šířku 500px, u najetí na jiný typ prvků šířku 282px. Šlo by to nějak obelstít?
Díky.
P.S. pro Losa, ale i ostatní... na mě je třeba mluvit odně polopaticky...
V nastaveniach toho boxu si môžeš zvoliť, aká CSS trieda sa má použiť. Takže pre jeden typ prvkov to definuješ napr. takto:
a pre druhý takto:
A v štýloch definuješ napr.:
Tohle kupodivu nefunguje, ale experimentováním jsem právě empiricky dokázal, že nejjednodušší cesta bývá úspěšná. Z toho skriptu jsem prostě vyhodil definici šířky headeru i body a protože používám obrázky, ono se to prostě nastaví samo!
Otázkou je, co dělat, kdybych chtěl použít text místo obrázků, ale myslím, že to potřebovat nebudu...
Díky.