웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
XE를 홈페이지 루트에 설치하여 BGM 설치가 불가능할 때...
2011.05.29 14:51
XE는 기본적으로 홈페이지주소/xe/에 설치됩니다.
이 경우 홈에 접속할때 XE가 바로 보이지 않지요.
때문에 XE가 바로 보이게 할려는 의도에서
XE를 홈페이지의 루트에 설치하는 경우가 있습니다.
이 팁은 XE를 홈페이지 루트에 설치하여 frameset을 이용한
BGM Player 구동이 불가능할 때 사용하시기 바랍니다.
애드온 프로그램도 있지만 그것을 사용하니 홈페이지에 접속시 너무 느려 사용 포기했음.
1. 먼저 홈페이지에서 BGM을 구동할 index.html 파일을 아래의 형식으로 만들어서
UTF-8로 저장하여 홈의 루트에 main 폴더를 만든후 이 폴더에 올립니다.
<?
if($_GET["uri"]) $uri = $_GET["uri"];
else $uri = "/";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xml:lang="ko" lang="ko" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<title>홈페이지 타이틀</title> <!-- 홈페이지 타이틀은 자신의 홈에 맞게 수정하세요.-->
</head>
<frameset rows="30px, *" frameborder="0" framespacing="0"><!-- 30px은 홈의 BGM Player 높이에 맞게 수정하세요. -->
<frame id="BGM" name="BGM" src="BGM Player주소" frameborder="0" marginwidth="0" marginheight="0" noresize="noresize" scrolling="no" /><!-- BGM Player 주소는 자신의 홈에 맞게 수정하세요. -->
<frame id="XE" name="XE" src="<?=$uri?>" frameborder="0" marginwidth="0" marginheight="0" />
</frameset>
</html>
2. 홈페이지에 사용중인 레이아웃 파일(layout.html)을 에디트로 열어서
레이아웃 파일에서 제일먼저 로드되는 js파일을 열어
아래 소스를 js파일 상단에 집어 넣습니다.
제 홈의 layout.html의 js파일 로드 예시)
<!--%import("js/global.js")-->
<!--%import("js/jquery.droppy.js")-->
<!--%import("js/modal_window.js")-->
<!--%import("js/page-scroller.js")-->
총 4개의 js파일이 로드 되네요. 이 중에서 제일 위의 global.js가 해당됩니다.
해당되는 파일에 아래소스를 넣고 저장후 업로드.
if(top.frames.length == 0) {
var fullUrl = new String(window.location);
var udata = fullUrl.replace("http://", "");
var data = udata.split("/");
if(udata == location.host + "/") uri = "/main";
else uri = "/main/?uri=";
for(i = 1; i < data.length; i++) {
uri += "/" + data[i];
}
if((fullUrl.indexOf("&act") == -1) && (fullUrl.indexOf("&search") == -1) && (fullUrl.indexOf("admin") == -1)) {
window.location.href = uri;
}
}
그런 다음 레이아웃 파일의
<!--%import("js/global.js")--> 이 코드를
<load target="js/global.js" index="-1" /> 로 수정하여 있던 곳으로 올리면 끝.
이제 홈페이지를 다시 고침해 보세요. BGM frame도, XE frame도 모두 정상적으로 보여집니다.
클릭시마다 BGM frame이 1개씩 늘어나는 현상도 없습니다.
BGM Player와 위젯스킨, 애드온이 개발자포럼 > 프로그램 자료실에 올려져 있습니다.
이 팁을 적용하지 말고 이 팁이 적용된 프로그램을 받아서 사용하세요. 아래 링크를 따라가세요.
댓글 6
-
우냠냠냠
2012.12.29 19:05
-
꿈틀잉
2013.02.12 14:21
좋은팁입니다.^^
-
Firstlove
2013.02.12 14:54
BGM Player와 위젯스킨, 애드온 프로그램이 개발자포럼 ---> 프로그램 자료실에 올려져 있습니다.
위 팁을 적용하지 말고 위 팁이 적용된 프로그램을 받아서 사용하세요. 아래 링크를 따라가세요.
-
꿈틀잉
2013.02.13 13:35
적용해서 잘쓰고 있는데요...
도메인 접속시
http://aaa.com/frameset.html?uri=/
이렇게 뒤에 자동으로 붙어버리는데 안나오게 가능한가요?
-
Firstlove
2013.02.14 21:21
홈페이지 루트에 main이라는 폴더를 만든 후 그 폴더에다 frameset.html 파일을 넣은 후 index.html로 파일명을 바꿉니다. 다음은 레이아웃 파일에서 로드되는 js파일에 아래 팁을 적용하면 홈페이지 주소가 http://도메인/main/으로 고정됩니다. /main/ 이것까지 안나오게 하는 방법은 없습니다. if(top.frames.length == 0) { var fullUrl = new String(window.location); var udata = fullUrl.replace("http://", ""); var data = udata.split("/"); if(udata == location.host + "/") uri = "/main"; else uri = "/main/?uri="; for(i = 1; i < data.length; i++) { uri += "/" + data[i]; } if((fullUrl.indexOf("&act") == -1) && (fullUrl.indexOf("&search") == -1) && (fullUrl.indexOf("admin") == -1)) { window.location.href = uri; } } -
Firstlove
2013.02.27 13:15
개발자포럼 > 프로그램 자료실에 5대 웹 브라우저를 지원하는 BGM Player - XE 위젯 버젼 V1.6 를 올려 두었습니다.
본문의 팁을 적용하시려는 분들은 아래 링크를 따라가셔서 본문의 팁이 적용된 BGM 프로그램을 받아서 사용하세요.

이런 어마어마한팁에 댓글이없다니..