Google은 웹 서버의 동적 리소스에 스크립트 포함을 기록하는 JavaScript를 사용하여 다른 서버에서 제공되는 페이지간에 정보를 전달할 수 있습니다 사이트 간 스크립팅 제한IE는 동적으로 추가 된 스크립트 파일을 간헐적으로 실행하지 않습니다.
아이디어는 브라우저가 서버 측의 동적 리소스 (일부 서버 측 정보를 요청에 넣음)를 통해 제공되는 JavaScript 파일을 요청한다는 것입니다. JavaScript 파일은 페이지에 추가 될 때 브라우저에 의해 실행됩니다.
Internet Explorer에서 문제가 발생하여 응답에 반환 된 JavaScript가 페이지에 추가 될 때 간헐적으로 실행되지 않습니다. 문제가 발생했을 때 Fiddler HTTP 추적을 검사하면 스크립트가 브라우저에 성공적으로 반환되었음을 알 수 있습니다.
내가 아래 루프 1000 번 실행하는 스크립트를 추가하는 코드를 변경, 더 안정적이를 테스트하려면 : :ajavascriptfile.js
에 의해 반환 된 스크립트가 단순히 내 페이지에 카운터를 증가
for (var i = 1; i <= 1000; i++) {
try {
var script = document.createElement("SCRIPT");
script.src = serverHome + "/ajavascriptfile.js?token=" + token + "&num=" + i;
script.id = token;
document.getElementsByTagName("HEAD")[0].appendChild(script);
} catch (e) {
alert(e);
}
}
var output = document.getElementById("output");
output.innerHTML = parseInt(output.innerHTML) + 1;
이 테스트에서는 예외가 발생하지 않습니다.
제대로 실행되면 카운터가 1000이됩니다 (Firefox에서 사용). 그러나 IE6에서는 평균 900-950, IE7은 약 995-998이며 IE8은 충격적인 750-800입니다.
다른 누구도 동적으로 포함 된 스크립트를 실행하지 않는 Internet Explorer가 있습니까? 그렇다면이 문제를 해결하는 방법을 알고 있습니까?
우연히 페이지에 선언 된' 가 있습니까? –
아니요 페이지에 이 없습니다. –
이 문제를 해결하기 위해 노력하고 있지만 확실하지 않은 이유가 잘못되었습니다. – JustEngland