내부 태그 내부 및 주변 공백 처리

4196 단어 html-minifier

묘사

PHPTAL 테스트의 영감:
<div>a <a href=#> b </a> c</div>
다음으로 축소해야 합니다.
<div>a <a href=#>b </a>c</div>
그 이전:
<div>a <a href=#>b</a> c</div>
앞의 공백 위치를 주의하십시오.
우리가 가장 잘 처리할 수 없는 상황 중 하나는 다음과 같다.
<div> <span> a </span> </div>
이 홍보가 있으면 다음과 같다.
<div><span>a </span></div>
마지막 공백을 안전하게 지울 수 있어도.c 저희가 차등 사례가 있다고요.바보같이 웃다
(사실이 증명하듯이 우리는 씻을 필요가 없다

토론 #1

부터 buffer까지 씻을 필요가 없기 때문에 도움이 된다.)results 미니들의 성능에 어떻게 영향을 미칠지 아십니까?

토론 #2

나는 운행

토론 #셋

을 했지만 뚜렷한 성능 차이를 관찰하지 못했다.
크기를 줄이면 크기가 거의 변하지 않습니다benchmark.js. 다음과 같은 이유로 크기가 커졌습니다<1KB:
<a>P </a>
eloquentjavascript 지속적인 트레일링 공간이 최적화되어 <1KB 감소.es6@kangax 평론 주소: wink:

토론 #4

이것은 "eloquentjavascript"이전의 렌더링이 정확하지 않다는 것을 의미합니까?공백을 삭제하시겠습니까?

토론 #5

예. 이 빈칸들은 매우 중요하기 때문에 삭제하면 뒤에 있는 정상적인 텍스트와 너무 가깝습니다.

토론 #6

@alexlamsl: 이번 변화가 모든 것을 파괴하지 않을 거라고 확신하십니까?나는 나의 한 항목의 차이, 즉https://github.com/mpc-hc/mpc-hc.org

토론 #7

를 사용하여 실행합니다.이전 버전과 같은 출력을 얻으려면 grunt server를 열어야 합니다.글꼴 아이콘 주위의 빈칸을 찾습니다.conservativeCollapse 나는 끝 괄호 앞의 빈칸도 알아차렸다. 예를 들어
<a href=/acknowledgments/ >
나는 이번에 구 판본에서 발생한 것을 기억하지 못한다.
편집: 1.2.0도 발생합니다.

토론 #8

토론 #9

<a href="/acknowledgements/">로 전환해야 한다. <a href=/acknowledgements/ >는 마지막 평행봉과 XML의 끝 평행봉이 혼동되기 때문이다.
나는 이 홍보가 이 IIRC를 변화시켰다고 생각하지 않는다.<a href=/acknowledgements/> 그러나 XML은 아닙니다.

토론 #10

찾았습니다.https://github.com/kangax/html-minifier/commit/f8db419595ac792a37445e9a43f9e69f6548453c
이전 동작은 인용부호를 보존하는 것입니다. 왜냐하면 일부 브라우저들이 그것을

토론 #11

로 사용할 수 있기 때문입니다.새 동작은 인용부호를 삭제함으로써 바이트를 절약하지만, 분석 오류를 피하기 위해 꼬리 공백을 추가합니다.일부 브라우저에서 />

토론 #12

와 혼동되기 때문에 <a href=/acknowledgements/>는 안전한 최단 표현 형식이다.
나는 지금 너의 프로젝트를 보러 갈 것이다. 너는 내가 이후에 방문할 수 있도록 특별한 링크가 있니? <a href="/acknowledgements"/><a href=/acknowledgements/ > 일부 브라우저의 동작이 이렇다면 비표준 동작입니다.HTML은 XML이 아니기 때문에 사양이 명확합니다.어쨌든 이 문제는 또 다른 문제다.나는 내가 언급한 공백 문제에 더욱 관심이 있다https://github.com/kangax/html-minifier/pull/519#issuecomment- 199222850.grunt serve는 그 어떠한 페이지일 뿐이지만 홈페이지의 뉴스 게시물 아이콘에서 더욱 뚜렷하다.
마스터의 이전 버전으로 복원되었음을 주의하십시오. 따라서 제 뜻을 이해하기 위해서는 grunt contrib htmlmin을

토론 #13

또는

토론 #14

로 설정해야 합니다.^1.0.0 고마워요. 지금 조사해 볼게요. 두 버전 사이를 왔다 갔다 하면서 차이점을 볼 수 있을 것 같아서...1.1.0 바보 같지만땀:
> grunt serve

Warning: Task "serve" not found. Use --force to continue.

Aborted due to warnings.


Execution Time (2016-03-21 12:01:01 UTC)
loading tasks  3ms  ████████████75%
Total 4ms
편집자: 제가 짐작컨대

토론 #15

...

토론 #16

@XhmikosR 제가 지금 귀찮을 수도 있다는 걸 알지만 루비와 제이킬을 설치하지 않은 상태에서 테스트를 하거나 제 컴퓨터에 더 많은 물건을 설치하지 않은 방법이 있나요?식은땀:grunt server네, 찾아뵙겠습니다.https://mpc-hc.org/크롬 49:
- 그랩

토론 #17

- 계속http://kangax.github.io/html-minifier/대부분(더 안전한) 옵션이 있습니다

토론 #18

.
- 결과를 다시 붙여넣기document.body.innerHTML원본 사이트의 다른 탭과 비교합니다.지금까지 내가 유일하게 주의한 것은 conservativeCollapse 아이콘과 아래 텍스트 사이의 공백이 사라지는 것이다.
나는 또 다른 차이에 주의해야 합니까?document.body.innerHTML 죄송합니다. Ruby 없이는 구축할 수 없습니다.
하지만 네가 본 것은 내가 묘사한 문제야, 그래.더 있을 수도 있지만 글씨체가 좋은 것은 뻔하다.fa 여기 공백이 삭제되었습니다

토론 #19

. - 추적하고 시도한 다음 보고서로 돌아갑니다. wink:

좋은 웹페이지 즐겨찾기