Autor | Zpráva | ||
---|---|---|---|
Ofi Profil |
#1 · Zasláno: 10. 7. 2009, 22:42:44 · Upravil/a: Ofi
Zdravim všechny,
mám funkci počítající výšku iframe podle načítané stránky uvnitř iframe, tato funkce se spouští v tagu iframe takto: <iframe id="topic" name="topic" src="aktuality.php" width="560" height="800" onload="calcHeight();" frameborder="0" scrolling="no">...</iframe> problém nastává při validování stránek - v hlavičce při validaci musí být uvedeno: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> pokud je to uvedeno - nefunguje onload, stránka není validní (1 chyba - event v iframe) pokud není uvedeno - onload funguje, ale stránka není validní!(1chyba + 1 warn-missing doctype) chtěl jsem se tedy zeptat - je nějaká jiná možnost, jak zapnout funkci calcHeight() pokaždé když se změní obsah iframu aniž bych tím přišel o validitu stránek? pokud ne - budu muset předělat komplet přes Ajax - ale rád bych se tomu u tohoto projektu vyhnul... |
||
Chamurappi Profil |
#2 · Zasláno: 10. 7. 2009, 23:03:56 · Upravil/a: Chamurappi
Reaguji na Ofiho:
Validátor jde v tomto případě ošálit mnoha způsoby. K čemu potřebuješ validitu? Proč se snažíš mít validní kód? Používáš HTML nebo XHTML? (To z <!doctype> deklarace nemůžu určit.) „pokud je to uvedeno - nefunguje onload“ O tom pochybuji. Možná ti nefunguje správně funkce calcHeight, ale událost onload nejspíš vyvolána bude. |
||
Ofi Profil |
#3 · Zasláno: 11. 7. 2009, 11:41:22 · Upravil/a: Ofi
Chamurappi
z doctype je vidět že jde o XHTML 1.0, validita je vizitka web programátora, stejně jako spisovatel chce mít všechno gramaticky správně tak i já chci mít validní stránky (nenapadlo mě teď lepší přirovnání).. jakými způsoby lze ošálit validátor? i když bych radši validátor neošálil a chtěl bych použít validní způsob - pořád lepší něco než nic. O tom pochybuji. Možná ti nefunguje správně funkce calcHeight, ale událost onload nejspíš vyvolána bude. netuším či je to tak či onak, každopádně to nic neřeší na problému validita.:) edit: nefunkcnost calcHeight pri doctype byla zpusobena opomenutim +"px"; |
||
Radek9 Profil |
#4 · Zasláno: 11. 7. 2009, 11:57:27
z doctype je vidět že jde o XHTML 1.0
Ale není vidět jestli jde o HTML nebo XML+XHTML. Musel by jsi sem napsat mime type. jakými způsoby lze ošálit validátor? Třeba javascriptem. |
||
Ofi Profil |
#5 · Zasláno: 11. 7. 2009, 12:11:37
Radek9
Třeba javascriptem. dík :D teď toho vim tolik co předtim xD sem třeba doufal že mi ten způsob třeba předvedeš :) |
||
Radek9 Profil |
#6 · Zasláno: 11. 7. 2009, 13:23:42 · Upravil/a: Radek9
Uděláš si soubor "iframe.js", ve kterém bude:
document.write('<iframe id="topic" name="topic" src="aktuality.php" width="560" height="800" onload="calcHeight();" frameborder="0" scrolling="no">...</iframe>'); A pak si na stránku vložíš: <script src="iframe.js" type="text/javascript"></script> A jentak pro zajímavost. Můžeš sem napsat ten mime type? (<meta http-equiv="Content-Type" content="text/html; charset=utf-8">) |
||
Ofi Profil |
#7 · Zasláno: 11. 7. 2009, 13:53:02
aha , super to me nenapadlo. takze se to neda bez ošálení validně?
používám application/xhtml+xml, ale i kdyžtam dam text/html tak se to chova naprosto shodně (ty moje stránky) |
||
Radek9 Profil |
#8 · Zasláno: 11. 7. 2009, 14:29:07
Ofi:
Pokud jsi v XHTML, tak myslím, že ne. kdyžtam dam text/html tak se to chova naprosto shodně Ano chová, ale už to není XHTML, ale HTML. |
||
Ofi Profil |
#9 · Zasláno: 11. 7. 2009, 14:51:44
Radek9
Ano chová, ale už to není XHTML, ale HTML jasný ale tady šlo o funkčnost že.. |
||
Chamurappi Profil |
#10 · Zasláno: 11. 7. 2009, 15:03:54
Reaguji na Radka9:
„Uděláš si soubor "iframe.js", ve kterém bude“ To je ale pořádná prasárna. Nedoporučuji. Obsluhu události jde přeci krásně přiřadit JavaScriptem: document.getElementById("topic").onload = calcHeight; „A jentak pro zajímavost. Můžeš sem napsat ten mime type?“ Na <meta> značce nikdy nezáleží, tam patří vždy „text/html“, nic jiného tam nedává smysl. Záleží na skutečné hlavičce Content-Type. Reaguji na Ofiho: „používám application/xhtml+xml, ale i kdyžtam dam text/html tak se to chova naprosto shodně“ … a tu skutečnou hlavičku zjevně neměníš. Používáš pořád HTML, tedy „text/html“. Proto ti funguje document.write, proto nemáš kód validní. „validita je vizitka web programátora, stejně jako spisovatel chce mít všechno gramaticky správně“ Tvůj kód je vnímán jako nevalidní HTML vším, co není oficiální W3C validátor (prohlížeči, vyhledávači, českým validátorem). To je dle tebe dobrá vizitka? „i když bych radši validátor neošálil a chtěl bych použít validní způsob - pořád lepší něco než nic“ W3C nebylo před dvanácti lety příliš prozíravé, aby dalo <iframu> událost onload, proto si na to teď validátory stěžují. Snažíš se dodržovat pradávné specifikace, ale chceš používat devět let staré novinky, proto musíš kontrolu ošálit. |
||
Ofi Profil |
#11 · Zasláno: 11. 7. 2009, 19:23:00 · Upravil/a: Ofi
„Tvůj kód je vnímán jako nevalidní HTML vším, co není oficiální W3C validátor (prohlížeči, vyhledávači, českým validátorem). To je dle tebe dobrá vizitka? “
k tomu jsem byl vždy směrován - validní dokument = dobrý dokument - očividně to tak není - ale co je pak ta "dobrá vizitka programátora"? grafika stránek? - ne té se to netýká, funkčnost stránek? - taky ne, protože funkčnosti se dá dosáhnout i ne příliš pěknými způsoby - co pak teda? header neznáte nějaké stránky, které pojednvají o všech možnostech, variantách a nastaveních headerů s vysvětleními? myslím že je načase (pro mne) se na to "konkrétně" podívat. vždy jsem "zahlíd" co jsem potřeboval, ale nyní si říkám, že bych si měl doplnit informace o headeru..:-X |
||
Bubák Profil |
#12 · Zasláno: 11. 7. 2009, 21:19:24
Zajímavý článek na téma validita, sterilita, sexualita a kompatibilita.
http://latrine.dgx.cz/konec-w3c-prostrednictvim-psa-ii |
||
Chamurappi Profil |
#13 · Zasláno: 12. 7. 2009, 02:00:19 · Upravil/a: Chamurappi
Reaguji na Ofiho:
„ale co je pak ta "dobrá vizitka programátora"?“ Řekl bych, že půjde o strojově neměřitelné kvality. Čím složitější je obor, tím obtížněji se hledají lajkům srozumitelná objektivní měřítka pro odvedenou práci — obvykle se pak posuzování zjednodušuje na něco snadno pochopitelného a přišpendlí se k němu jakási důvěra v profesionalitu. Takže dobrou vizitkou lékaře jsou živí pacienti a dobrou vizitkou kodéra funkční stránky. „funkčnost stránek? - taky ne, protože funkčnosti se dá dosáhnout i ne příliš pěknými způsoby“ Validity se dá též dosáhnout nepříliš pěknými způsoby. „vždy jsem "zahlíd" co jsem potřeboval, ale nyní si říkám, že bych si měl doplnit informace o headeru..:-X“ Nepotřebuješ znát všechny HTTP hlavičky, stačí ti zahlédnout jen ten Content-Type a pochopit, jaký význam má pro prohlížeče. |
||
Ofi Profil |
#14 · Zasláno: 12. 7. 2009, 11:06:28
jak jinak se dá Content-type nastavovat krom meta tagu?
|
||
Chamurappi Profil |
#15 · Zasláno: 12. 7. 2009, 14:43:35
Reaguji na Ofiho:
Přenastavením serveru či skriptovacím jazykem na straně serveru (PHP, ASP.NET)… „krom meta tagu?“ <meta> značka neúčinkuje, protože do ní se dívají prohlížeče pouze při (skutečném) typu „text/html“ za účelem zjištění kódování. Doporučuji ti Content-Type neměnit, „text/html“ má všeobecně nejlepší podporu mezi prohlížeči. Internet Explorer nepodporuje „application/xhtml+xml“. |
||
Ofi Profil |
#16 · Zasláno: 12. 7. 2009, 16:18:45
Chamurappi
oki děkuji za vysvětlení ;)To bude asi vše :) |
||
Časová prodleva: 15 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0