I am looking for a way to include an external .js file and receive the response headers from that request.
<script src="external/file.js?onload=callback">
function callback(data) {
data.getAllResponseHeaders();
}
</script>
getAllResponseHeaders(): The XMLHttpRequest.getAllResponseHeaders() method returns all the response headers, separated by CRLF, as a string, or null if no response has been received. If a network error happened, an empty string is returned.
That means you need to load the external js with a XMLHttpRequest:
Moreover, in this way you load only one time the file.
function loadScript(url) {
var oXmlHttp = new XMLHttpRequest();
oXmlHttp.onreadystatechange = function () {
if (oXmlHttp.status == 200 || oXmlHttp.status == XMLHttpRequest.DONE) {
var x = oXmlHttp.getAllResponseHeaders();
console.log(x);
if (oXmlHttp.responseText != null) {
var oHead = document.getElementsByTagName('HEAD').item(0);
var oScript = document.createElement("script");
oScript.language = "javascript";
oScript.type = "text/javascript";
oScript.defer = true;
oScript.text = oXmlHttp.responseText;
oHead.appendChild(oScript);
}
}
}
oXmlHttp.open('get', url);
oXmlHttp.send();
}
loadScript("1.js?onload=callback");