컴퓨터 CSS StyleSheet를 JavaScript로 추가하기
2008.01.17 13:46
제로보드가 조금 오래됐다 보니 HTML 표준을 안따르는 것이 꽤 있더구만.
나름
마크를 붙이고 있는 상황에서 참을 수 없는 현실...
마크 대신에
마크가 나타난다는 게 어찌나 신경쓰이는지.
근데 게시판은 그럭저럭 해결했는데 끝까지 골치를 썩이는 게 갤러리. 요건 제로보드의
기능을 확장한 DQ_Revolution이라는 걸 쓰고 있는 건데, Stylesheet 참조를 두 번하는
바람에 문제를 일으키네.
<head></head> 사이에
<link rel="Stylesheet" Href="URL..." type="text/css" title="style"> 를 추가해야
하는데, 제로보드 메인에서 이미 <head></head> 를 선언한 상태에서 DQ_Revolution이
뒤늦게 <body></body> 안에서 저걸 선언하는 바람에 HTML 표준에
안맞다고 나오더구만. 저걸 어떻게 해결할까 고민한 결과 Stylesheet 저것도 하나의
객체이며, 저것을 JavaScript로 추가해주면 되겠구나 결론을 내리고 방법을 찾아봤다.
좀 찾기는 했지만 그래도 용케 찾았다. 후훗...
DQ_Revolution의 get_config.php 파일에 있는 <link> 태그 대신에 아래의 스크립트를 추가하면 OK~~~
<script type="text/javascript">
if (navigator.appName == "Microsoft Internet Explorer")
{
document.createStyleSheet("<?=$_css_dir?>style.css");
}
else
{
var styleSheet = document.styleSheets;
var linkElm = document.createElement("link");
linkElm.rel = "stylesheet";
linkElm.href = "<?=$_css_dir?>style.css"
linkElm.type = "text/css";
document.getElementsByTagName("head")[0].appendChild(linkElm);
}
</script>
나름
마크를 붙이고 있는 상황에서 참을 수 없는 현실...근데 게시판은 그럭저럭 해결했는데 끝까지 골치를 썩이는 게 갤러리. 요건 제로보드의
기능을 확장한 DQ_Revolution이라는 걸 쓰고 있는 건데, Stylesheet 참조를 두 번하는
바람에 문제를 일으키네.
<head></head> 사이에
<link rel="Stylesheet" Href="URL..." type="text/css" title="style"> 를 추가해야
하는데, 제로보드 메인에서 이미 <head></head> 를 선언한 상태에서 DQ_Revolution이
뒤늦게 <body></body> 안에서 저걸 선언하는 바람에 HTML 표준에
안맞다고 나오더구만. 저걸 어떻게 해결할까 고민한 결과 Stylesheet 저것도 하나의
객체이며, 저것을 JavaScript로 추가해주면 되겠구나 결론을 내리고 방법을 찾아봤다.
좀 찾기는 했지만 그래도 용케 찾았다. 후훗...
DQ_Revolution의 get_config.php 파일에 있는 <link> 태그 대신에 아래의 스크립트를 추가하면 OK~~~
<script type="text/javascript">
if (navigator.appName == "Microsoft Internet Explorer")
{
document.createStyleSheet("<?=$_css_dir?>style.css");
}
else
{
var styleSheet = document.styleSheets;
var linkElm = document.createElement("link");
linkElm.rel = "stylesheet";
linkElm.href = "<?=$_css_dir?>style.css"
linkElm.type = "text/css";
document.getElementsByTagName("head")[0].appendChild(linkElm);
}
</script>






