카테고리 없음

[자바 스크립트] 자바 스크립트 eval () 중에 브라우저가 멈춤

행복을전해요 2020. 12. 30. 11:53

대부분의 브라우저에서 JavaScript는 UI 스레드에서 실행되므로 설명하는대로 UI를 차단합니다. UI 차단을 해제하는 가장 좋은 방법은 JS를 더 작은 부분으로 나누고이를 setTimeout과 함께 연결하는 것입니다 (UI 렌더링을 위해 스레드 제어를 브라우저에 다시 제공함).

-------------------

페이지에 새 스크립트 태그를 삽입하여 코드를 실행할 수도 있습니다.

function executeCode(code) {
    var element = document.createElement('script');
        element.type = 'text/javascript';
        
            try {
                    element.appendChild(document.createTextNode(code));
                            document.body.appendChild(element);
                                }
                                    catch (e) {
                                            element.text = code;
                                                    document.body.appendChild(element);
                                                        }
                                                        }
                                                        
                                                        var code = 'alert("hello world");';
                                                        executeCode(code);
                                                        
-------------------

기능을 더 작은 부분으로 나누어야합니다. 나는 그것들을 setTimeout.

최신 브라우저에는 백그라운드에서 데이터를 계산할 수 있는 웹 작업자 가 있습니다.



출처
https://stackoverflow.com/questions/2002879