Question

  • Creator
    Topic
  • #2142431

    iframe history is not cleaned up on refresh in Chrome and Opera

    Locked

    by craigtus ·

    Tags: 

    I’m testing in Chrome, Edge, FF, IE, and O.

    The case is that a page has up to 5 iframes that show on a single page. A page is executed in each iframe. These pages have links to other pages that have links. A browser refresh returns the screen to the initial page state in all 5 browsers. But in Chrome and O, the history of the iframes of the set are not deleted. The browser back button or a JavaScript history(-1) button work as originally intended in FF, IE, and Edge. But in Chrome and O, these back buttons start to step back through the sequential history of all iframes.

    I do a querySelectorAll(‘iframe’) on exit and refresh/load and no iframes are indicated. Yet, in Chrome and Opera, when the page refreshes and the iframes are created again, they remember the history of the same named iframes that were there before the refresh.

    I refresh in 3 different ways in this application including the browser refresh button, parent,location,reload(parent.location.href), and parent,location,reload
    with a particular function. These all work in Edge, FF, and IE. I refresh and can back out of the page to the calling page. In chrome and Opera, even though the iframes have been removed, the new iframes retain the history of the previous iframes.

    I have tried about half dozen approaches in JavaScript to insuring the iframes have been removed. My latest attempt follows. I’m not sure if I’m executing right, but the length is always 0.

    var iframesx = document.querySelectorAll(‘iframe’);
    for (var i = 0; i < iframesx.length; i++) { iframesx[i].parentNode.removeChild(iframesx[i]); } This is a real navigation problem for this application in Chrome and Opera. Below is a link that demonstrates the problem. The page shows up to the 5 most recent years of a color map. All data is only for testing and some of the data was doubled up for testing. http://steepusa.no-ip.info/scx/gencm.cgi?str=0b%7ESKY%7EC%3A%2FSteep%2FUSA%20Data%2FState%2FKY%2F%7EC%3A%2FSteep%2FUSA%20Data%2FState%2FKY%2Fchildren2%2Eview

    Bring the page up in Chrome or Opera. Take some links in a couple of iframes. Refresh and hit the browser Back button as if you are backing out of the page. In Edge, FF, and IE, instead of going through the history of the iframes before the refresh, the back out works.

    My platform is Windows 10 running Apache/2.0.64 (Win32), mod_perl/2.0.3, and Perl/v5.8.3. I am running the latest versions of all browsers being used in testing.

    Thanks.

All Answers

Share your knowledge