간단한 자바 관련 질문이요... 정보
간단한 자바 관련 질문이요...
본문
오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.
오류 주소 : http://www.hazynights.com/ko/
제가 홈페이지를 만들때 배경색을 항상 흰색이 아닌 특정한 색으로 하는데요,
style.css 에서 body 부분에 배경색을 주면 전체 그누보드에 적용되어서 관리자 화면이나 스크랩 팝업창, 비밀번호 찾기 창 등, 제가 변화를 원하지 않는 부분에도 배경색이 적용이 되거든요?
관리자 화면은 그렇다 치고, 다른부분은 회원들이 사용하는 부분이라서... 특히 배경색이 어두워서 글자 읽기가 너무 힘드네요.
그래서 잔머리 굴려서 생각해낸게, 비밀번호찾기나 스크랩창은 다 새창으로 열리길래, 자바스크립트로 만약 이 창이 새 창이라면 이 스타일을 적용해라. 이런식으로 하면 될 것 같은데...
if(opener){ <? $defaultbg = "#FFFFFF;"; ?> } else { <? $defaultbg = "어두운배경색"; ?> } 이런식으로 자스를 작성하고 head.sub 에서 body 부분에 style="background:<?=$defaultbg ?>" 을 적용해줬는데 안되네욤... 어디가 잘못된건가요?
오류 주소 : http://www.hazynights.com/ko/
제가 홈페이지를 만들때 배경색을 항상 흰색이 아닌 특정한 색으로 하는데요,
style.css 에서 body 부분에 배경색을 주면 전체 그누보드에 적용되어서 관리자 화면이나 스크랩 팝업창, 비밀번호 찾기 창 등, 제가 변화를 원하지 않는 부분에도 배경색이 적용이 되거든요?
관리자 화면은 그렇다 치고, 다른부분은 회원들이 사용하는 부분이라서... 특히 배경색이 어두워서 글자 읽기가 너무 힘드네요.
그래서 잔머리 굴려서 생각해낸게, 비밀번호찾기나 스크랩창은 다 새창으로 열리길래, 자바스크립트로 만약 이 창이 새 창이라면 이 스타일을 적용해라. 이런식으로 하면 될 것 같은데...
if(opener){ <? $defaultbg = "#FFFFFF;"; ?> } else { <? $defaultbg = "어두운배경색"; ?> } 이런식으로 자스를 작성하고 head.sub 에서 body 부분에 style="background:<?=$defaultbg ?>" 을 적용해줬는데 안되네욤... 어디가 잘못된건가요?
댓글 전체

php와 자바스크립트의 관계는
서버와 클라이언트의 관계입니다.
예를들면 온라인 게임을 한다면 서버 프로그램이 있고 유저는 클라이언트로 게임을 하겠죠?
서버는 보통 데이터 처리만 담당하고 인터페이스는 클라이언트가 담당하기 마련인데
그 클라이언트를 담당하는 것중 하나가 자바스크립트 입니다.
php는 서버 프로그램이구요. php는 데이터 처리를 담당한다고 보시면 됩니다.
일차적으로 php에서 출력된 소스를 클라이언트인 브라우저가 받아서
다시 소스를 해석한다고 보시면 되는데요.
그렇게 되면 서버소스가 클라이언트 소스를 안고 가야 하겠지요?
반대로는 되지 않습니다.
이해가 되셨나요?
가장 간단한 방법은 body 부분에 style을 인라인으로 지정해 주지 마시고
style.css에서도 빼신 다음에
페이지 마다 적절하게 <style>.body{}</style>
이런식으로 해주시는 거고요
아니면
<script language='javascript'>
if(opener) {document.body.backgroungColor="#ffffff";}
</script>
이렇게 해주셔도 되는데 후자는 비추입니다. 스크립트에 짜잘한것까지 다 의존하는것은 안좋습니다.
것도 잘 모르시겠으면
php변수의 $_SERVER['SCRIPT_NAME'] 이나 $_SERVER['REQUEST_URI'] 등으로 걸러주셔도 됩니다.
이 세가지 방법 외에도 공부하면 할수록 더 편하고 좋은 방법이 무궁무진합니다.
일단 잔머리 굴리신 그 시점에서 질문자께서는 잘 하실수 있는 밑거름을 갖고 계신겁니다.
서버와 클라이언트의 관계입니다.
예를들면 온라인 게임을 한다면 서버 프로그램이 있고 유저는 클라이언트로 게임을 하겠죠?
서버는 보통 데이터 처리만 담당하고 인터페이스는 클라이언트가 담당하기 마련인데
그 클라이언트를 담당하는 것중 하나가 자바스크립트 입니다.
php는 서버 프로그램이구요. php는 데이터 처리를 담당한다고 보시면 됩니다.
일차적으로 php에서 출력된 소스를 클라이언트인 브라우저가 받아서
다시 소스를 해석한다고 보시면 되는데요.
그렇게 되면 서버소스가 클라이언트 소스를 안고 가야 하겠지요?
반대로는 되지 않습니다.
이해가 되셨나요?
가장 간단한 방법은 body 부분에 style을 인라인으로 지정해 주지 마시고
style.css에서도 빼신 다음에
페이지 마다 적절하게 <style>.body{}</style>
이런식으로 해주시는 거고요
아니면
<script language='javascript'>
if(opener) {document.body.backgroungColor="#ffffff";}
</script>
이렇게 해주셔도 되는데 후자는 비추입니다. 스크립트에 짜잘한것까지 다 의존하는것은 안좋습니다.
것도 잘 모르시겠으면
php변수의 $_SERVER['SCRIPT_NAME'] 이나 $_SERVER['REQUEST_URI'] 등으로 걸러주셔도 됩니다.
이 세가지 방법 외에도 공부하면 할수록 더 편하고 좋은 방법이 무궁무진합니다.
일단 잔머리 굴리신 그 시점에서 질문자께서는 잘 하실수 있는 밑거름을 갖고 계신겁니다.

후아.. 자세한 설명 정말 감사합니다. 제가 기초가 안되있으니, 헤매는게 너무 많네요...
말씀하신데로 그냥 style.css 에서 뺀 다음에 페이지 마다 따로 바디 태그와 스타일일 주고 있습니다.
그런데 문제가... 이렇게 하면 head 부분에 style 을 넣지 못해고 간혹 페이지에 body 태그가 두개이상 존재하게 되서 xhtml strict validator 테스트를 통과를 못하네요... 쩝.ㅜ,.ㅜ; 좋은 대안이 없을까요?
말씀하신데로 그냥 style.css 에서 뺀 다음에 페이지 마다 따로 바디 태그와 스타일일 주고 있습니다.
그런데 문제가... 이렇게 하면 head 부분에 style 을 넣지 못해고 간혹 페이지에 body 태그가 두개이상 존재하게 되서 xhtml strict validator 테스트를 통과를 못하네요... 쩝.ㅜ,.ㅜ; 좋은 대안이 없을까요?

페이지마다 바디태그를 주지 마시고요
그냥 스타일만 지정해 주시면 됩니다.
이것도 무결하지는 않습니다만, 바디 두개보단 낫습니다.
그냥 스타일만 지정해 주시면 됩니다.
이것도 무결하지는 않습니다만, 바디 두개보단 낫습니다.

그렇군요ㅜ.ㅜ 그누로는 여러면에서 웹표준을 맞추기가 힘드네요... 답변 너무 감사합니다.

후아... 쪽찌로 자세한 추가 답변까지 정말 감사합니다. 말끔히 해결되니 기분이 넘 좋네요! 수고하세요^-^