안감 성능의 HTML 스타일:처리 방법
4175 단어 webdevjavascript
그러나 이런 안감 스타일은 결코 유행하지 않는다는 사실이 증명되었다.나는 크롬의 원생 방법을 제외하고 한 줄Select and Copy에서 다른 방법이 더 빠른지 확실하지 않다.
이것은 작은 수수께끼이다. 브라우저가 렌더링하는 것과 같은 성능을 얻을 수 있어야 하기 때문이다. (브라우저는 모든 요소의 CSS를 설명하고, 그 위치를 어떻게 그리는지 찾아내고, 그 중의 하위 집합을 간단하게 계산하고, 그 안에 연결하는 노력이 매우 빨라야 하기 때문이다.)그러나 우리는 본 브라우저의 성능을 얻지 못한 것 같다. (사람들은 본 브라우저의 C나 C++ 브라우저가 설명된 자바스크립트 구현보다 우세하다고 생각할 수도 있다.)
그것을 분석해도 주요한 문제를 발견하지 못했다. 여기는 밀리초, 저기는 밀리초, 성능도 괜찮다.내가 복제하고 싶은 상당히 일반적인 요소 (표 한 장) 에는 약 3500개의 요소가 있는데, 복사 단추를 누르고 복사본을 클립보드에 넣은 후, 이 요소들의 양식이 약 1초의 지연 시간 안에 한 줄로 배열되는 것은 참을 수 없는 것이 아니라, 인상적이지 않으면 받아들일 수 있다.
하지만 우리가 대량으로 복제하고 싶다면?내가 복제할 수 있는 가장 큰 데이터 집합 중 하나에 나는 약 10만 개의 원소를 가지고 있는데, 이 원소들은 약 30초 안에 양식을 배열했다.적어도 이것은 좀 서투르다고 말할 수 있다.이것은 '복사' 단추를 누르고 어디에 붙여넣으면 아직 사용할 수 없을 수도 있지만, 클립보드가 아닌 줄에 있을 수도 있다는 것을 의미한다.
어떤 더 좋은 이유가 자바스크립트 기교를 연구하여 이 과정을 간소화하고 우리의 기술을 연마하여 체험을 더욱 원활하게 할 수 있습니까?
이렇게 큰 복제본(30초의 준비 시간 필요)에 대한 주요 전략 개선UX은 다음과 같습니다.
작업 분리
내 첫 번째 생각은 내장 스타일과 클립보드로 복사하는 작업을 분리하는 것이다.페이지를 불러올 때 스타일을 맞추면 '복사' 단추를 누르면 바로 클립보드에 복사본을 넣을 수 있습니다.
에이, 만약 우리가 페이지의javascript에서 이렇게 한다면 우리는 몇 가지 작은 문제에 부딪힐 것이다.
임무 배정
가장 일반적인 방법은 DOM이 완전히 불러온 후에 실행될 뿐만 아니라, 모든 동적 자바스크립트가 보여준 요소가 해결된 후에 실행될 수 있도록 페이지 ready state 가 '완성' 될 때 삽입할 수 있도록 하는 것이다.Document: readystatechange event에 연결된 사용자 정의 프로세서를 사용하여 준비 상태의 변경 사항을 관찰하면 쉽게 할 수 있다.
하지만...렌더링이 끝날 때 UI를 30초 동안 잠글 수도 있습니다. 이 기능은 대화식 페이지에서 상당히 큰 문제이며 이 과정에서 응답하지 않고 잠겨 있는 것처럼 보입니다.따라서 이러한 스타일을 정렬할 때 UI를 해제하는 것이 좋습니다.
사용자 인터페이스 준수
스크립트가 실행될 때 UI 상호 작용을 처리하려면 Javascript를 해제하는 것이 좋습니다.이것이 바로 스크립트가 따라야 할 UI입니다...
실제로 널리 사용되고 참조되는 작은 자바스크립트 코드 세그먼트가 있습니다.
function defer() {return new Promise(r => setTimeout(r, 0));}
await defer();
그러나 나는 이것이 어떻게 된 일인지, 왜 이러는지 명확한 해석을 찾지 못했다. 나는 다음 글에서 이 점을 탐구할 것이다.
Reference
이 문제에 관하여(안감 성능의 HTML 스타일:처리 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/thumbone/html-style-in-lining-performance-and-what-to-about-it-4a55
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
스크립트가 실행될 때 UI 상호 작용을 처리하려면 Javascript를 해제하는 것이 좋습니다.이것이 바로 스크립트가 따라야 할 UI입니다...
실제로 널리 사용되고 참조되는 작은 자바스크립트 코드 세그먼트가 있습니다.
function defer() {return new Promise(r => setTimeout(r, 0));}
await defer();
그러나 나는 이것이 어떻게 된 일인지, 왜 이러는지 명확한 해석을 찾지 못했다. 나는 다음 글에서 이 점을 탐구할 것이다.
Reference
이 문제에 관하여(안감 성능의 HTML 스타일:처리 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/thumbone/html-style-in-lining-performance-and-what-to-about-it-4a55텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)