Zauważam dziwne zachowanie w Internet Explorerze, gdy moja strona znajduje się wewnątrz elementu iframe. Wygląda na to, że element iframe ładuje się ponownie podczas wywoływania metody window.history.back(), mimo że zmienia się tylko wartość mieszania w adresie URL. Jeśli strona nie znajduje się wewnątrz elementu iframe, zachowuje się poprawnie i nie ładuje ponownie strony. Każdy pomysł, dlaczego tak się dzieje i jak temu zapobiec?window.history.back() ponownie ładuje stronę w Internet Explorerze, gdy znajduje się wewnątrz elementu iframe?
I stworzył skrzypce, który zademonstruje to w IE9:
jsfiddle używa iframe, więc zachowanie będzie zachowanie iframe. Kliknięcie przycisku "#foo" i "#bar" spowoduje zmianę wartości mieszania w adresie URL. Kliknięcie linku "WSTECZ" spowoduje wyzwolenie window.history.back(). Zauważ, że znacznik czasu zmienia się, gdy to robisz, wskazując, że strona przeładowuje się.
Ewentualnie, jeśli załadować iframe bezpośrednio:
http://fiddle.jshell.net/peh96/5/show/
zauważysz, że znacznik czasu nie zmienia się, gdy przycisk „Z powrotem”.
Jest to tylko problem związany z IE, ponieważ Chrome i Firefox są spójne zarówno wewnątrz elementu iframe, jak i poza nim.
Każdy pomysł, jak zapobiec ponownemu załadowaniu?
Jesteśmy również bardzo przeszkadza ten błąd :( – Blackbird
@Blackbird, jaka jest obejście, które wybrał, aby rozwiązać ten problem? –
żaden niestety :(A co ty? Nic jeszcze – Blackbird