Solución: Programando contra Google Instant

En mi navegador (Google Chrome) tengo activada la función Instant en la Omnibox, cosa muy muy util. Pero recientemente me surgió un problema, hay scripts que necesitan de la mera ejecución del archivo (en mi caso, .php), en estos casos, con Google Instant el script se ejecutaría 2 veces: una para la preview y otra para cuando el usuario entra finalmente.

Esto no debería pasar, y no siempre pasa, pero para evitar que pueda llegar a pasar, Google nos añade un atributo a la HTTP Request. Cuando se esté visualizando el sitio como una preview, estará presente el atributo “HTTP_X_PURPOSE” con el valor “: preview”. Así se lo trabaja con PHP:

if ( $_SERVER['HTTP_X_PURPOSE'] == ': preview' ) {
    // No hago nada.
} else {
    // Hago todo.
}

Espero que les sirva, Saludos!

This entry was posted in General. Bookmark the permalink.