씬 클라이언트 또는 원격 데스크톱을위한 HTTP 헤더와 같은 것이 없기 때문에이를 해결할 수있는 확실한 방법은 없습니다.
그러나 느린 클라이언트를 식별하는 솔루션이 정말로 필요한 경우 다음을 시도해 볼 수 있습니다. 이는 Google이지도에서 클라이언트가지도를 처리 할 수 있는지 판단하기 위해 사용하는 것과 유사합니다.
이 방법을 사용하면 HTML 페이지에 JavaScript가 내장되어 제공됩니다. 이 덩어리는 실제 코드와 비슷한 리소스가 많은 작업을 수행합니다.
이 작업에 소요되는 시간을 측정하고 성능이 좋은지 아닌지를 결정하십시오.
document.write
으로 스크립트 태그를 만들고 실행 모드를 스크립트에 알려주거나 이미로드 된 코드를 적절한 매개 변수로 초기화하여 실제 JavaScript를로드합니다.
quick'n'dirty 구현 예는 다음과 같이 보일 것이다 (jQuery를 사용하지만,뿐만 아니라 일반 JS에서 구현 될 수있다) :
<script type="text/javascript">
var
$elem,
now = new Date(),
isFast,
counter = 0;
while (new Date() - now < 100)
{
$elem = $('<div style="display: none">');
$('body').append($elem);
$elem.remove();
++counter;
}
alert(counter);
isFast = (counter > 100);
// now, either embed the actual script ...
document.write('<scr'+'ipt type="text/javascript" src="http://www.example.com/js/test.js?fast=' + isFast + '"></scr'+'ipt>');
// ... or initialize the already loaded code
var myControllerInstance = new MyController(isFast);
myControllerInstance.makeStuffHappen();
</script>
섬세한 부분은 "빠른"이 무엇인지 정의하는 것입니다, 왜냐하면 타이밍 코드가 느려지는 이유가 다를 수 있기 때문입니다. 너무 많은 위음성이나 오 탐률로 끝날 수 있습니다.
EDIT : @fero에 의해 제안 된대로 JS 예제가 업데이트되었습니다. 감사!
출처
2014-09-08 10:17:08
lxg
진정한 진정한 문제는 여기에 있습니다. 사이트에서 일부 자바 스크립트 애니메이션을 사용하고 완전히 비활성화하는 것은 옵션이 아닙니다. – Reborn
당신의 권리와 나는 단지 그것을했습니다. 그래도 긍정적 인 답변을 기대하고 있습니다 :) – Reborn
예를 들어 자바 스크립트가 사용 설정되어 있는지 감지 할 수 있습니다. –