<!doctype html>
<script src="history.js"></script>
<script>
  opener.pages.push(id);
  if (!opener.started) {
    onload = function() {
      setTimeout(function() {
        opener.started = true;
        history.go(-10); //Outside the range
        history.go(-1);
        history.go(-2);
      }, 100);
    }
  } else {
    opener.start_test_wait();
  }
</script>
