Vo vnútri prvku iframe mám formulár. Hneď ako užívateľ uloží údaje, presmerujem prvok iframe na stránku, ktorá nerobí nič viac, ako načítať hlavnú stránku (pretože nejaký iný obsah závisí od toho, čo bolo vložené do prvku iframe). Údaje mimo prvku iframe sa preto aktualizujú a formulár by sa mal znova objaviť.
Problém: prinajmenšom firefox (zatiaľ nebol testovaný v iných prehliadačoch) udržuje „novú“ adresu URL prvku iframe s presmerovanou stránkou a nie adresu nastavenú pomocou zdrojového kódu. Niečo podobné automatickému dopĺňaniu so vstupnými poľami.
Nabijem znova
parent.location.reload();
Existuje možno spôsob, ako vynútiť skutočné obnovenie bez toho, aby sa uchovali nejaké informácie z histórie obsahujúcich prvkov iframe?
btw: Ak to pomôže, môžem jQuery použiť.
Vďaka.
odpovede:
1 pre odpoveď č. 1Môžete vyskúšať niečo v tomto zmysle (http://jsfiddle.net/AKykZ/):
document.querySelector("button").addEventListener("click", function() {
document.querySelector("iframe").setAttribute("src", document.querySelector("iframe").getAttribute("src"));
window.top.location.reload();
return false;
}, false);
Na housle kliknite na odkaz v prvku iframe a stlačte tlačidlo Obnoviť. Znie to, ako by ste znova načúvali z prvku iframe, ale toto by vás malo priniesť aspoň na správnu cestu.
0 pre odpoveď č. 2
Našlo sa riešenie. Je to celkom vtipné, ale robí nabíjanie znova
parent.location.href = parent.location.href;
obnoví nové načítanie stránky bez uchovania histórie. Nebol to však testovaný v iných prehliadačoch.