스크립트가 크롬에선 작동되지 않아요
본문
컬러 픽커 스크립트인데
익스에서는 작동되고 크롬에서는 작동되지 않아서 도움 좀 부탁 드립니다.
<script type="text/javascript">
$(function(){ // == body bg-color
var body_bg = $('#body_bg');
body_bg.colorpickerplus();
body_bg.on('changeColor', function(e,color){
if(color==null) {
//when select transparent color
$('.color-fill-icon', $(this)).addClass('colorpicker-color');
$('body').css('background-color', '');
} else {
$('.color-fill-icon', $(this)).removeClass('colorpicker-color');
$('.color-fill-icon', $(this)).css('background-color', color);
$('body').css('background-color', color);
}
e.preventDefault();
var currTab = color,
bodyClassName5 = "bg-" + currTab.replace(/#/, "");
localStorage.setItem("currentTab", currTab);
localStorage.setItem("bodyClassName5", bodyClassName5);
$(".panel").hide();
$(currTab).fadeIn();
if ( document.body.className.match(/(?:^|\s)bg-[A-Za-z0-9]+(?!\S)/) ) {
document.body.className = document.body.className.replace(/(?:^|\s)bg-[A-Za-z0-9]+(?!\S)/g, '') ;
}
document.body.className += bodyClassName5 + ' ';
});
var lastSelectedTab = localStorage.getItem("currentTab"),
lastBodyClassName5 = localStorage.getItem("bodyClassName5");
if (!lastSelectedTab) {
lastSelectedTab = "#ffffff";
lastBodyClassName5 = "bg-ffffff"
}
$(lastSelectedTab).fadeIn();
document.body.className += lastBodyClassName5 + ' ';
});
</script>
답변 3
올려주신 코드가 전부가 아닌거 같습니다.
여기에 추가해서 진행해봐도 되지 않네요
colorpicker를 구현하려고 하신거 같은데
해당 로직의 샘플을 받아서
설치하면 바로 실행/테스트 가능하더군요
http://deb.kr/test/datapicker/
확인해보세요
localStorage는 크롬4.0이상에서 지원합니다.
아래와 같이 지원 가능한지 확인해보세요.
그리고 코드 내에 오탈자가 있을 수 있기 때문에 크롬 개발자 도구에서 콘솔을 잘 활용해서 점검해보세요.
if (typeof(Storage) !== "undefined") {
// Storage 지원 가능!
} else {
// Storage 지원 불가능!
// 그야 typeof(Storage)가 undefined 라는 것은... 사용할 수 없다는 것이기 때문!
}
예! 단독으로 시험해 보면 잘 작동됩니다.
페이지에 다른 코드도 섞여 있어서 에러가 나긴 합니다.
완전히 해결되진 않았지만
답변해 주신 두 분 고수님들의 의견이 많이 참고되었습니다.
참고해서 해결하고 있는 중입니다.
두 분께 감사 드립니다.