그래서 sepereate 페이지가 있습니다. 사용자가 버튼을 클릭하여 웹 사이트의 스타일 시트를 변경하면 각 페이지의 모든 스타일 시트가 선택한 페이지로 변경됩니다.자바 스크립트를 사용하고 있습니까?
외부 자바 스크립트 파일 : 사용자가 버튼을 클릭하면위한
function ChangeSheet(sheet)
{
document.getElementById('pagestyle').setAttribute('href', sheet);
}
pages = {
default : 0;
design1 : 0;
design2 : 0;
}
function setDefault(var num){
pages.default = num;
}
html로 코드 CSS를 변경 :
<p>Click one of the links to change the website design viewing settings.</p>
<button onclick="setDefault(1)">Default</button>
번호 1은 사용자가이 하나를 고른 것을 의미 페이지 클래스 내에 저장됩니다. 기본적으로 bool.
html 파일에 자바 스크립트가 내장되어 있으면 외부 자바 스크립트 파일을 가져 오는 링크 ID도 표시됩니다. 내가 버튼을 누를 때
<link id = "pagestyle" rel="stylesheet" type="text/css" href="default.css">
<script src= "swap.js"></script>
<script type="text/javascript">
if(pages.default == 1)
{
ChangeSheet('design1.css');
}
</script>
을, 아무 일도 발생하지 않습니다, 그리고 메신저 : 그때 pages.deafult가 1이면 그렇다면, 우리는 'design1.css'스타일 시트로 변경하는 경우, 확인 internel의 JS를 사용하려고 왜? 미안 해요, 내가 웹 사이트 디자인과 자바 스크립트에 매우 익숙하지 않은 경우 이것을 묻지 않아야합니다.
'if()'는 페이지로드에서만 실행됩니다. 그것은 당신이 당신의 버튼으로'default'를 바꾸기 때문에 다시는 돌아 가지 않을 것입니다. 또한 자바 스크립트는 페이지로드간에 지속성이 없습니다. 그 객체를 어딘가에 저장해야합니다 ... 서버, 쿠키 또는 localStorage – charlietfl
자바 스크립트는 버튼을 클릭하기 전에 pages.default가 1인지 확인합니다. 버튼을 클릭하면 pages.default를 1로 변경하지만 다시는 확인하지 않습니다. –
업데이트를 해결하기 위해 제 답변을 업데이트했습니다. (그것은 페이지로드 사이에 지속성이 필요하다는 charlieftl의 요점을 되풀이하지만 HTML과 JS를 파일 시스템에서 직접 실행하는 경우에도 솔루션을 제공합니다.) – nb1987