2012-08-14 19 views
8

¿Cómo puedo ver los encabezados de página de la página cargada usando javascript.Acceder al encabezado de página de la página actual en javascript [no ajax]

algo allí donde pueda ejecutar un

e.g. window.pageHeaders['session'] 

Nota: No estoy hablando de una carga de la página Ajax.

+1

¿Estás hablando de los encabezados de contenido o la representación javascript de la etiqueta de encabezado o lo que contiene la etiqueta de encabezado? – fredrik

+0

Puede hacer esto con [Service Workers] (https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API), pero están [mal admitidos] (http://caniuse.com/# feat = serviceworkers) en este momento. –

Respuesta

3

Echa un vistazo a este jsfiddle.

Vinculación de este question.

Esta respuesta de Raja obtendrá los encabezados de página para la página actual.

var req = new XMLHttpRequest(); 
req.open('GET', document.location, false); 
req.send(null); 
var headers = req.getAllResponseHeaders().toLowerCase(); 
alert(headers); 
+0

Esto funciona, pero lo que esto hace es que hace una llamada extra ajax. ¿Cómo puedo obtener los encabezados http sin una llamada adicional ajax? –

+0

@PrakashRaman ¿Utiliza algún lenguaje del lado del servidor? Puede establecer los encabezados a una variable de JavaScript a continuación. – Undefined

+0

Eso es lo que estoy haciendo actualmente, que es mi último recurso. Esperaba que hubiera otra forma. Por cierto, estoy usando PHP –

0

haciendo algo como esto? por favor muéstranos implementación de ejemplo.

<!--Save Headers--> 
    <?php $currentHeaders = json_encode(getallheaders()); ?> 

    <!--Create Output Container--> 
    <div id="output"></div> 

    <!--Show Headers--> 
    <button onclick="showheaders()">show headers</button> 

    <!--Javascript Ugliness--> 
    <script> 
     function showheaders(){ 
     var headers = <?php echo $currentHeaders; ?>; 

     // Collect your goodies here eg: var goodies = headers['proxy-authenticate']; 
     console.log("Headers", headers); 

     // See the output on screen? 
     var output = document.getElementById('output'); 
      output.innerHTML = JSON.stringify(headers); 
     } 
    </script> 
Cuestiones relacionadas