스타일 시트간에 전환 할 때 Chromium 53과 Firefox 49 사이에 이상한 비 일관적인 동작이 발생합니다.크롬과 파이어 폭스에서 대체 스타일 시트 전환
내 스타일 시트는 다음과 같이 추가됩니다
이<link class="alternate-style" rel="stylesheet" title="Carbon"
type="text/css" href="assets/css/alt/Carbon.css" />
...
스위처는 다음과 같이 작동
function setStyle(style) {
$('link.alternate-style')
.prop('disabled', 'disabled')
.filter(function() { return this.title == style; })
.removeAttr('disabled');
}
(의 setStyle()가 디폴트 값으로 시작 호출됩니다.)
이를 Firefox 및 Chromium에서 jQuery 2.2.4와 같은 문제없이 작업했습니다.
이제 jQuery 3.1.1로 업그레이드하려고합니다.
Chromium에는 전혀 문제가 없습니다.하지만 Firefox에서는 업그레이드 후에 작동하지 않습니다. 모든 스타일 시트는 사용할 수 없으며 스타일 체인저는 아무 것도하지 않습니다. ,
function setStyle(style) {
$('link.alternate-style').prop('disabled', function() {
return this.title != style;
});
}
지금은 파이어 폭스에서 작동을 :
removeAttr()가 변경되었음을 결말이 여운 (jQuery를 지금보다 엄격 속성과 특성을 구별), 나는 청소기 어떤 경우 같았다 다음에있는 setStyle 변경 하지만 Chromium에서는 그렇지 않습니다. 버그는 다르다. 스타일 전환기는 잘 작동하지만 초기화 도구가 손상되고 페이지가 처음에 스타일이 지정되지 않는다.
요약 : 2.2.4에서 두 버전의 코드가 모두 작동합니다. 3.1.1에서 이전 코드는 Firefox에서는 작동하지 않지만 Firefox에서는 작동하지 않지만 새로운 코드는 Firefox에서는 작동하지만 Chromium에서는 작동하지 않습니다. 이 속성을 간단하게 다시 무시됩니다 -
가function setStyle(style) {
$('link.alternate-style')
.prop('disabled', true) // <-- necessary for chromium
.prop('disabled', function() {
return this.title != style;
});
}
그 선이 중복 된 것 같다 테스트하여
, 나는 두 브라우저에서 작동 코드의 일부입니다. 그러나 Chromium의 초기화가 중단됩니다.