Forma POST en iframe sin afectar la historia

¿Es posible enviar un formulario dentro de un iframe sin afectar el historial del navegador?

He implementado el envío de una solicitud POST entre dominios. Utiliza Javascript para crear y enviar un formulario dentro de un iframe. Funciona, pero cada solicitud agrega un elemento al historial del navegador.

Alguien sabe una manera de evitar esto? He intentado crear el iframe con innerHTML y createElement. No he visto ninguna diferencia hasta ahora.

PD: me encantaría usar XMLHtttpRequest ("Ajax"), pero no admite el envío de datos entre dominios. Y me encantaría usar GET en lugar de publicar, pero necesito enviar más de 2k de datos.

Aquí hay una versión de mi código. He probado muchas variaciones y he buscado por todas partes, pero parece que no puedo encontrar una solución que no afecte el historial del navegador. Creo que no es posible, ¿alguien puede confirmar eso?

<html>

<head>
  <script type="text/javascript">
    function submit(params) {

      var div = document.createElement('div');
      div.innerHTML = '<iframe height="50" width="50"></iframe>';
      document.body.appendChild(div);

      var iframe = div.firstChild;
      var iframeDocument = iframe.contentDocument || iframe.contentWindow.document;
      iframeDocument.open();
      iframeDocument.close();

      var form = iframeDocument.createElement('form');
      iframeDocument.body.appendChild(form);
      form.setAttribute('action', 'http://some-other-domain.com/submit-here');
      form.setAttribute('method', 'POST');

      for (param in params) {
        var field = iframeDocument.createElement('input');
        field.setAttribute('type', 'hidden');
        field.setAttribute('name', param);
        field.setAttribute('value', params[param]);
        form.appendChild(field);
      }
      form.submit();
    }

    window.onload = function() {
      document.getElementById('button').onclick = function() {
        submit({
          'x' : 'Some Value',
          'y' : 'Another Value',
          'z' : new Date().getTime()
        });
      }
    }
  </script>
</head>

<body>
  <h1>Example of using Javascript to POST across domains...</h1>
  <input id="button" type="button" value="click to send">
</body>

</html>

Respuestas a la pregunta(5)

Su respuesta a la pregunta