prohlížeč zpět působí na vnořený prvek iframe před samotnou stránkou – existuje způsob, jak se tomu vyhnout?

Mám stránku s dynamickými daty načtenou nějakým ajaxem a spoustou javascriptu.

stránka obsahuje seznam, ze kterého si uživatel může vybrat a každá vybraná hodnota načte na stránku nová data.

Jednou z těchto datových položek je adresa URL poskytnutá prvku iframe.

K simulaci chování zpět v prohlížeči používám jQuery BBQ:Back Button &Query Library.

Vše funguje dobře, kromě toho, že když poprvé kliknu na tlačítko Zpět, iframe se vrátí na své předchozí umístění a pak musím znovu kliknout zpět, aby se stránka vrátila.

Existuje způsob, jak zakázat zpětné chování prvku iframe?

Odpověď

Našel jsem odpověď na svůj problém, myslím, že by to mohlo být užitečné pro ostatní.

Problém byl ve způsobu, jakým jsem přiřadil nové adresy URL svému iframe, použil jsem Jquery, takže to vypadalo asi takto:

$('#myIFrame').attr('src',newUrl);

Při přiřazení adresy URL tímto způsobem přidá do seznamu navštívených adres URL v prohlížeči novou položku, ke které se můžete vrátit.
To nebylo požadované chování, takže po nějakém googlování jsem zjistil, že můžete přiřadit novou adresu URL objektu Iframe, aniž byste jej přidali na „zadní seznam“, vypadá to takto:

var frame = $('#myIFrame')[0];  
frame.contentWindow.location.replace(newUrl);

Tímto způsobem se mé tlačítko Zpět chová přesně podle očekávání.

btw, odpověď jsem dostal odtud.

Doufám, že vám to bylo užitečné stejně jako mně.