Diskuze: Zablokování tvorby nových oken
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 14 zpráv z 14.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Nove okno sa vytvara pomocou window.open(url) , takze ak to chces spravit ako si napisal (cez iframe) zmen funkciu ktora otvara nove okno , na funckiu ktora zmeni src iframe napr:
<iframe id="iframe"></iframe>
<a href="blabla.com"><p onclick="zmensa()">click</p></a>
function zmensa()
{
event.preventDefault();
var iframe=document.getElementById("iframe");
iframe.src=event.target.parentNode.href
}
Jsi si jistý, že se to otevírá pomocí javascriptu? V HTML stačí každému odkazu nastavit atribut target="_blank" který způsobí otevření do nového okna. Pokud je smažeš, vše by se mělo otevřít v aktuálním.
Pracovat s rámy bych ti nedoporučoval, neboť se to v dnešní době
nepoužívá a při přechodu na jinou stránku v rámci se nemění URL adresa,
takže nemůžeš někomu poslat odkaz...
Přes jQuery:
$("a").click(function(e){
e.preventDefault();
$("#iframe").attr("src", $(this).attr("href"));
});
" Drtivá většina stránek se otevírá do nového okna pomocí
JavaScriptu."
Ja som sa riadil podla toho
Děkuji za odpovědi vyzkouším a napíšu výsledek. Já vím že tohle řešení není nejvhodnější, ale ze všech možností mi tohle zatím vypadlo jako nejlepší. To že se nebude měnit URL nevadí, spíš je to možná k dobru.
Je to prakticky to iste co si postol ty len ja som vlozil <p> tag do
<a> tagu (od html 5 je to mozne , opravte ma ak sa mylim )
//fredep myslel som ze odpovedas na moj komentar
Ahoj, tak to vypadá že to částečně funguje, ale stránka se zobrazí v nové záložce místo nového okna a bohužel se nenačte. Muže na to mít vliv že je v odkazu postBack ? Odkaz viz. níže.
<a class="ctl00_cntMain_ctl00_FfSrna_SrnaId_treemenu_0 ctl00_cntMain_ctl00_FfSrna_SrnaId_treemenu_1" href="javascript:__doPostBack('ctl00$cntMain$ctl00$FfSrna$SrnaId$treemenu','s1054')" onclick="TreeView_SelectNode(ctl00_cntMain_ctl00_FfSrna_SrnaId_treemenu_Data, this,'ctl00_cntMain_ctl00_FfSrna_SrnaId_treemenut0');" id="ctl00_cntMain_ctl00_FfSrna_SrnaId_treemenut0">1 Vlastnosti</a>
Tak zpět, nefunguje to. To se zase objevila chyba někde, jinde že to vyskakuje v nové záložce a navíc se to nenačte.
Jo mám už jsem přišel na to kde byla chyba. No nicméně to pořád
ještě nefunguje .
Pokud jsem ten kód dobře pochopil. Tak to udělá to, že vyhledá tag iframe a atributu src nastaví aktuální odkaz ?
A to pro ten můj případ nejde. Protože ten iframe není na té stránce z které klikám na ten odkaz.
Pokud to není jasné, tak jak budu doma tak to rozepíšu nějak srozumitelněji.
1. Ten kód vyhledá element s ID "iframe", to znamená že v případu iframu to je
<iframe id="iframe"></iframe>
2. Chápu správně že chceš otevřít odkaz v iframu, který je na jiné stránce ?
Tak to jsem pochopil skoro správně, ale na situaci to nic moc nemění.
Udělal jsem náčrt jak to asi funguje.
Zobrazeno 14 zpráv z 14.