html 코드가 1.3.0 버전에서 파괴됨

4311 단어 html-minifier

묘사

내가 1.3.0으로 업데이트된 이후로 코드가 고장났다
결국 나는 이것이 적어도 라벨에서 발생한 일이라는 것을 깨달았다
하면, 만약, 만약...http://kangax.github.com/html-minifier/
<label class="input-wrapper">
    <div class="text-label"></div>
</label>
다음 코드가 제공됩니다.
<label class=input-wrapper></label><div class=text-label></div>
대신 다음과 같습니다.
<label class=input-wrapper><div class=text-label></div></label>

토론 #1

~~ 예시 코드를 IE11/Chrome에 넣고 DOM을 검사하면 삽입</label>을 볼 수 있습니다. 우리가 여기에서 한 것과 똑같습니다.만약 네가 나에게 브라우저가 이 점을 할 수 없는 예를 보여줄 수 있다면, 그것은 매우 큰 도움이 될 것이다. 그러면 우리는 범위를 줄일 수 있을 것이다보아하니<div>는 매우 특별하다. 설령 그것이 not listed의 어휘 내용이라고 할지라도 적어도 IE11에서는 이렇다.
@kangax 그래서 다음 이벤트로 범위를 좁혔습니다.
- html5:false 인라인 레이블을 계속 닫습니다.https://github.com/kangax/html-minifier/commit/30510e0147f015f747513ec79d29713e655f580f
- html5:true 어휘 내용 때문에 #541 지금도 비슷한 일을 하고 있다
- html5가 기본값true이기 때문에 우리는 첫 번째 코드 경로를 거의 보지 못했다. 실망:

토론 #2

http://stackoverflow.com/questions/18609554/is-div-inside-label-block-correct
https://datatables.net/forums/discussion/26944/invalid-html-div-inside-label-causes-css-rendering-problems
https://bugzilla.mozilla.org/show_bug.cgi?id=431074

토론 #셋

제 축소판도 고장났어요.
원시 html
<span class="btn btn-zen-default btn-file" ng-class="{'disabled': isUploading}">
  <i class="zmdi zmdi-download"></i>
  <ng-transclude></ng-transclude>
  <input type="file" file-change="upload()" ng-model="file" name="file">
</span>
옵션을 사용하여 축소
var htmlminOpts = {
  removeComments: true,
  collapseWhitespace: true,
  removeEmptyAttributes: false,
  collapseBooleanAttributes: true,
  removeRedundantAttributes: true
};
<span class="btn btn-zen-default btn-file" ng-class="{\'disabled\': isUploading}"><i class="zmdi zmdi-download"></i></span>
<ng-transclude></ng-transclude><input type="file" file-change="upload()" ng-model="file" name="file">
<ng-transclude> 표지는 <input> 표지와 함께 경계 밖에 나타나고 경계 안에 있어야 한다.
이 두 원소는 모두 내련되어 있지 않습니까?

토론 #4

@dciccale 안에 물건을 넣으면 안 될 것 같은데span 저희도 같은 문제가 있습니다.다음 설정을 시도하고 있습니다. 저에게 적합하지만, 저는 매우 보수적인 축소판을 가지고 있습니다.ymmv!
opts =
{
 ...
 includeAutoGeneratedTags: false
}

토론 #5

이전 버전이 실행 중인데 (단지 기억하기 위해서) 지금 도대체 무슨 변화가 일어났는지 모르겠어요.
감사합니다 @sumitkm 에서 시도해 보겠습니다.다시 한 번

토론 #6

sumitkm의 놀라운 작품을 보세요. 정말 쓸모가 있어요!고맙습니다

토론 #7

@dciccale는 일을 할 수 있어서 기쁘지만, 이것을 해결 방법으로 생각하고 조심스럽게 행동하십시오.만약 미니들이 잃어버린 꼬리표를 닫아 준다면, 나는 이 퇴로가 이미 사라졌다고 믿는다.인용한 예시에서 모든 표시가 적당히 닫혔습니다. 이것은 이 해결 방안의 관건적인 가설입니다.

토론 #8

@dciccale 예시가 실제로는 #557이고 복구 프로그램이 통합되어 테스트 가능online
@sumitkm 해결 방안을 제시해 주셔서 감사합니다: wink:

토론 #9

@alexlamsl merged는 이 예에서 발표되는 것을 의미하지 않습니까?:D

토론 #10

@dciccale 온라인 버전은 항상 저장소의 최신 버전을 가지고 있습니다.npm버전은 다음 npm publish버전이 되어야 업데이트됩니다. 따라서 의존하면 계속 주목하세요. wink:

토론 #11

@alexlamsl'bugs'는'위장된 축복'입니다.호환되지 않는 html:D. 다음 npm 발표를 기대합니다.

토론 #12

"include AutoGenerated Tags:false"는 나에게 작용하지 않는다. 단지 끝 표시를 삭제해서 결과를 더욱 이상하게 만들었다. (

토론 #13

@SmaugThe Great-try-latestgh-pages지점, 가능할 것이다.나는 다음 버전까지 이렇게 하고 있다.

좋은 웹페이지 즐겨찾기