Autor Zpráva
kelvin
Profil
Na stránce používám:

<iframe src="nejakastranka" frameborder="0" style="border:none; height:180px; width:210px;"></iframe>


A chci se zbavit toho frameborder="0". Jenže IE (6, 7, 8) nějaké border:none nebere a rámeček vykresluje.

Je nějaká možnost zbavit se toho frameborder a nemít rámeček okolo iframe v IE?

PS: nechci odpovědi typu "nepoužívej iframe" nebo "frameborder je v pohodě", díky ;).
Miloš
Profil
Asi bys mohl frameborder nechat vypsat javascript – pak se ti neobjeví v HTML.

PS.: Můžeme znát důvod, proč frameborder odmítáš?
kelvin
Profil
Miloš:
Důvod je, že nechci v HTML mít to co jde řešit v CSS. Natož kvůli jednomu prohlížeči.

Navíc frameborder je dle HTML5 obsolete (zastaralý) a já nemám zelený výsledek validátoru, nemohu použít ikonku , z čehož jsem strašně smutný, protože je to moc důležité ;).

Tak nějak doufám, že když je to zastaralé, tak existuje nezastaralá varianta.
panther
Profil
kelvin:
Tak nějak doufám, že když je to zastaralé, tak existuje nezastaralá varianta.
oni jsou zastaralé, i když ne podle specifikace, spíš celé rámy než tento atribut :-) Asi bych to být tebou neřešil, ničemu tam tento atribut nepřekáží.
kelvin
Profil
panther
Jo vím, že jsou rámy zastaralé, ale potřebuju do stránky vložit stav jabber a ICQ statusu (zelené ikonky + text), které čekají na výsledek serveru icq.com a netlab.cz. A nechci aby na ty servery čekala celá stránka. Možnost přes javascript se mi nezdá tak dobrá.
panther
Profil
kelvin:
Jo vím, že jsou rámy zastaralé
já vím, že to víš, to jsem si přečetl v prvním příspěvku. Proto bych neřešil frameborder, ničemu tam nevadí. Funkci plní výborně, v HTML nepřekáží.
DoubleThink
Profil *
kelvin:
Když už chceš snižovat obor kompatibility, tak buď trochu tvůrčí ;) Použij třeba <object> místo <iframe>.
kelvin
Profil
Hurá, poradil mi Arcao na jednom chatu:

" Normalne by melo fungovat iframe { border: 0; }, jenze to nebeha v IE, pro ie se jeste musi do te vnitrni stranky v iframu pridat body { border: 0; }".
Bubák
Profil
A zkoušel jsi to v IE8 ve standardním režimu?
Dodatek: ptám se, protože doctype pro HTML 5 vyvolá v prohlížečích standardní vykreslovací režim.
kelvin
Profil
Ano, IE6, IE7, IE8 bez rámečku. V jiném než standardním nedělám, to je hlavní důvod, proč používám doctype ;).
Bubák
Profil
Jaký doctype má stránka v iframe?
SpotRudloff
Profil *
iframe{
   border: 0;
}


:)
kelvin
Profil
Bubák:
Nemá žádný, nepotřebuje. Teď jsem jí zkusil dát <!doctype html> a rámeček se zobrazuje i s body { border: 0; }, což už vážně nechci řešit, takže nebude mít žádné doctype. Na té stránce jsou dvě řádky, dva obrázky, čára. Je jedno jestli je ve standardním nebo quirk režimu.

SpotRudloff:
Ne.
Chamurappi
Profil
Reaguji na kelvina:
nechci aby na ty servery čekala celá stránka
Jak se to nežádoucí čekání projevuje? Užíváš nějaké skripty čekající na událost onload? Myslím, že by tak či onak šlo najít lepší řešení.

Teď jsem jí zkusil dát <!doctype html> a rámeček se zobrazuje i s body { border: 0; }
Ano, počínaje sedmičkou nejde ve standardním režimu vypnout okraj na <html>/<body>. Je to škoda, rád ho vypínám i na stránkách nezanořených v <iframu>, jsou to 4 pixely navíc zdarma…
kelvin
Profil
Chamurappi:
Čekání jsem neměřil, subjektivně se stránka před přesunutím tohohle do iframe načítala pomaleji, také teď je vidět, že se nejdříve načte stránka a o nějaký čas později obsah iframe.
Kód jsem dal sem, kdyby to někoho zaujalo.

Ten rámeček mi to dělá i v IE6. ´
Amunak
Profil
kelvin:
Nepoužívej iframe (no dobře, vím, žes to nechtěl slyšet :), ale co takhle zkusit AJAX? Stránka by se načetla a JS by si zvlášť vyžádal ještě ty statusy, navíc klidně s 'elegantní' ukázkou načítání.
Miloš
Profil
Amunak:
Co máš proti iframe? Pokud nescriptuješ na straně serveru, je iframe ideální místo, kam strčit menu.
Anebo jak kelvin píše: „ale potřebuju do stránky vložit stav jabber a ICQ statusu (zelené ikonky + text), které čekají na výsledek serveru icq.com a netlab.cz. A nechci aby na ty servery čekala celá stránka.“ – na tohle mi připadá nasazování ajaxu jako kanón na komára.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: