Autor Zpráva
makak
Profil
Potřeboval bych při zachování Strict validity vyřešit otevření odkazu do parent okna (link se nachází v iframe). Ještě před 10 minutami jsem měl pocit, že jsem řešení našel, modifikací následujícího JavaSriptu: http://loadaveragezero.com/app/s9y/index.php?/archives/95-Serving-Vali d-XHTML-Strict-with-target_blank.html

Bohužel mi to nechodí v IE6 - otevírá se stále do iframe (FF a Opera jsou ok). Netuší někdo kde je problém?

Pozn: Nechci tu vyvolávat flame na téma Strict/Transitional, takže prosím pouze příspěvky k věci.

Díky
Jirka Kosek
Profil *
Nechci tu vyvolávat flame na téma Strict/Transitional

Já myslím, že situace je jednoduchá. Atribut target ve Strict verzích DTD není, takže použít nejde. Obcházení jeho absence pomocí JavaScriptu je prasárna, která navíc nefunguje při vypnutém JS. Takže máte jednu dobrou možnost -- použít Transitional DTD, nebo dvě špatné -- buď JS nebo ten atribut použít i v dokumentu, který se deklaruje jako Strict a porušit validitu.
makak
Profil
Ok, slovo prasárna jsem nečekal tak brzo, ale beru to :-))

Zmiňovaná stránka je index strana webové aplikace, kde zbytek je ve Strict, takže proto ta přemíra snahy. Zeptám se možná blbě: je to proti mravům, když některé stránky aplikace jsou Transitional a jiné Strict.

díky Martin
DoubleThink
Profil *
Ok, slovo prasárna jsem nečekal tak brzo, ale beru to
jj - v této sekci si člověk připadá jak v pornoprůmyslu.

Když někdo použije JS místo atributu "target" pod striktním doctypem, dělá totéž - jenom tak, aby na to validátor nepřišel - volá jenom jinak úplně stejnou funkci prohlížeče.
Osobně se vůbec nerozpakuji použít target ve striktním kódu.
makak
Profil
jj - v této sekci si člověk připadá jak v pornoprůmyslu
Před položením dotazu jsem samozřejmě pročítal diskuzi na toto téma, takže jsem věděl do čeho jdu :-)

Zpět k původnímu dotazu (sorry): tuší někdo proč ten Javascript nechodí v IE:

a[i].getAttribute('rel') == 'external') a[i].target = '_parent';

A ještě prosím názor na ten mix transitional/strict v rámci aplikace.

Díky
Oswald
Profil
makak
Add validita: místo nastavování targetu lze nastavit na event 'click' oteření nového okna JavaScriptem, zhruba takto:



a[i].getAttribute('rel') == 'external') {
a[i].onclick = function() {
return !window.open(this.href);
}
}
makak
Profil
to Oswald: Možná jsem vedle, ale window.open řeší _blank, já potřebuju _parent.
Oswald
Profil
makak
To já jsem vedle... přehlédl jsem, že jde o parent.
tiso
Profil
Aký máš dôvod na použitie iframu?
makak
Profil
Bohužel důvod k použití iframu mám, ale nechci se tu zbytečně rozepisovat proč, protože to s podstatou dotazu nesouvisí.
tiso
Profil
makak
...len som sa pýtal...
Toto téma je uzamčeno. Odpověď nelze zaslat.