sitelink1 | |
---|---|
sitelink2 | |
sitelink3 | |
sitelink4 | |
extra_vars4 | |
extra_vars5 | |
extra_vars6 |
완전... 삽질 그자체... 2일동안 이것만 했는데 결국은... 읽기는 되는데 쓰기가 안됨
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=euc-kr">
<title>Cugain’s Home</title>
<meta http-equiv=Content-Type content=text/html; charset=EUC-KR>
<link rel="StyleSheet" HREF="./cugain_css/default_style.css" type="text/css" title="style">
</head>
<body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" bgcolor="white">
<SCRIPT LANGUAGE="JavaScript">
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0");
xmlDoc.async = false;
xmlDoc.load("./cugain_musicplayer/mp3/mp3_list.xml"); // XML 파일 로드
xmlLoadMain();
/******************************************
Main.
******************************************/
function xmlLoadMain() {
var song_list = getMusicList("favorite");
var apply_value = randSort(0, song_list.length);
var new_song_list = getSortedList(song_list, apply_value);
var newXmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0"); //새로운 xml문서 생성
newXmlDoc.async = false;
newXmlDoc.load("./cugain_musicplayer/mp3/mp3_list.xml"); // XML 파일 로드
newXmlDoc.save("./mp3.xml"); //세이브안됨... 아마도 스크립트가 서버에 파일을 생성하는 부분이 막힌듯함
}
/******************************************
category정보를 받아서 음악리스트를 가져온다.
return <song> Array
******************************************/
function getMusicList(category) {
var music_tag_list = null;
if(xmlDoc) {
var finded_node = null;
var index_node_list = xmlDoc.getElementsByTagName("index");
var attribute_list = null;
for(index_i=0; index_i<index_node_list.length; index_i++) {
attribute_list = index_node_list.item(index_i).attributes;
for(attribute_i=0; attribute_i<attribute_list.length; attribute_i++) {
if(attribute_list.item(attribute_i).text == category)
finded_node = index_node_list.item(index_i);
}
}
if(finded_node) {
music_tag_list = finded_node.childNodes;
return music_tag_list;
} else { alert("해당하는 카테고리가 없습니다."); }
} else { alert("파일을 찾을 수 없습니다."); }
}
/******************************************
start_var부터 end_var까지 랜덤정렬된 숫자배열 리턴
return Array
******************************************/
function randSort(start_var, end_var) {
var_array = new Array();
var rand_var = null;
var looping = false;
var array_loc = 0;
for (i = start_var ; i <= end_var ; i++) {
do {
looping = false;
rand_var = Math.floor(Math.random()*(end_var+1));
if(rand_var < start_var) { // 랜덤값이 시작값보다 작은 경우는 스킵하고 루프
looping = true;
} else {
if(var_array.length <= 0) { //최초 숫자는 그냥 입력 후 다시 루프
var_array[array_loc] = rand_var;
array_loc++;
looping = true;
//alert(rand_var);
} else if(var_array.length < (end_var-start_var+1)) { //배열이 꽉 찼을 경우 그냥 루프를 빠져나간다
for (j = 0 ; j < var_array.length ; j++) {
if(var_array[j] == rand_var) { //배열에 이미 있는 숫자일 경우 다시 스킵하고 루프
looping = true;
}
}
}
}
}while(looping);
if(var_array.length < (end_var-start_var+1)) { //배열이 꽉 찼을 경우 그냥 루프를 빠져나간다
var_array[array_loc] = rand_var;
array_loc++;
//alert(rand_var);
}
}
return var_array;
}
/******************************************
배열과 소트방식을 받아 소팅후 배열로 리턴
return Array
******************************************/
function getSortedList(list, apply_value) {
var new_list = new Array();
for(i=0; i<list.length; i++) {
new_list[i] = list[apply_value[i]];
}
return new_list;
}
</SCRIPT>
</body>
</html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=euc-kr">
<title>Cugain’s Home</title>
<meta http-equiv=Content-Type content=text/html; charset=EUC-KR>
<link rel="StyleSheet" HREF="./cugain_css/default_style.css" type="text/css" title="style">
</head>
<body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" bgcolor="white">
<SCRIPT LANGUAGE="JavaScript">
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0");
xmlDoc.async = false;
xmlDoc.load("./cugain_musicplayer/mp3/mp3_list.xml"); // XML 파일 로드
xmlLoadMain();
/******************************************
Main.
******************************************/
function xmlLoadMain() {
var song_list = getMusicList("favorite");
var apply_value = randSort(0, song_list.length);
var new_song_list = getSortedList(song_list, apply_value);
var newXmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0"); //새로운 xml문서 생성
newXmlDoc.async = false;
newXmlDoc.load("./cugain_musicplayer/mp3/mp3_list.xml"); // XML 파일 로드
newXmlDoc.save("./mp3.xml"); //세이브안됨... 아마도 스크립트가 서버에 파일을 생성하는 부분이 막힌듯함
}
/******************************************
category정보를 받아서 음악리스트를 가져온다.
return <song> Array
******************************************/
function getMusicList(category) {
var music_tag_list = null;
if(xmlDoc) {
var finded_node = null;
var index_node_list = xmlDoc.getElementsByTagName("index");
var attribute_list = null;
for(index_i=0; index_i<index_node_list.length; index_i++) {
attribute_list = index_node_list.item(index_i).attributes;
for(attribute_i=0; attribute_i<attribute_list.length; attribute_i++) {
if(attribute_list.item(attribute_i).text == category)
finded_node = index_node_list.item(index_i);
}
}
if(finded_node) {
music_tag_list = finded_node.childNodes;
return music_tag_list;
} else { alert("해당하는 카테고리가 없습니다."); }
} else { alert("파일을 찾을 수 없습니다."); }
}
/******************************************
start_var부터 end_var까지 랜덤정렬된 숫자배열 리턴
return Array
******************************************/
function randSort(start_var, end_var) {
var_array = new Array();
var rand_var = null;
var looping = false;
var array_loc = 0;
for (i = start_var ; i <= end_var ; i++) {
do {
looping = false;
rand_var = Math.floor(Math.random()*(end_var+1));
if(rand_var < start_var) { // 랜덤값이 시작값보다 작은 경우는 스킵하고 루프
looping = true;
} else {
if(var_array.length <= 0) { //최초 숫자는 그냥 입력 후 다시 루프
var_array[array_loc] = rand_var;
array_loc++;
looping = true;
//alert(rand_var);
} else if(var_array.length < (end_var-start_var+1)) { //배열이 꽉 찼을 경우 그냥 루프를 빠져나간다
for (j = 0 ; j < var_array.length ; j++) {
if(var_array[j] == rand_var) { //배열에 이미 있는 숫자일 경우 다시 스킵하고 루프
looping = true;
}
}
}
}
}while(looping);
if(var_array.length < (end_var-start_var+1)) { //배열이 꽉 찼을 경우 그냥 루프를 빠져나간다
var_array[array_loc] = rand_var;
array_loc++;
//alert(rand_var);
}
}
return var_array;
}
/******************************************
배열과 소트방식을 받아 소팅후 배열로 리턴
return Array
******************************************/
function getSortedList(list, apply_value) {
var new_list = new Array();
for(i=0; i<list.length; i++) {
new_list[i] = list[apply_value[i]];
}
return new_list;
}
</SCRIPT>
</body>
</html>
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
6 |
브라우저의 스크롤을 따라다니는 레이어 두번째
![]() | 황제낙엽 | 2002.12.20 | 519 |
5 |
무지개링크 (rainbowlink)
![]() | 황제낙엽 | 2005.07.16 | 473 |
4 | 팝업창을 다시 띄우지 않는 소스 | 황제낙엽 | 2005.07.16 | 508 |
3 | 자바스크립트 내장 함수 활용하기 | 황제낙엽 | 2005.04.25 | 497 |
2 | XP 에서 input type=text 와 input type=password 의 사이즈가 틀리게 보일때 | 황제낙엽 | 2004.08.04 | 485 |
» | 자바스크립트로 서버의 XML파일을 접근 (실패했슴) | 황제낙엽 | 2005.12.11 | 697 |