채팅 입력창에 커서 깜빡이는거 없애는 방법?

아래 chat.php 소스를 index.php 페이지 하단에 iframe으로 넣었습니다.
근데 index.php를 refresh 하면 화면 중심이 항상 iframe으로 가버립니다.
이유는 마우스 커서가 chat.php의 채팅 입력창에서 깜빡거리기 때문인데요.
마우스 포인트를 기본적으로 저기다 두지 않는 방법 좀 알려주세요..
이하 소스입니다.







<?
include_once("_common.php");
$hereis = "chat";
include_once("../head.sub.php");
?>


<!----------------------------------------------------------------------------------->
<!-- 채팅 -->
<!----------------------------------------------------------------------------------->
<center>

<font color=blue size=6><b>chat.com</b></font>

<div id='chatting' style="width=650px;text-align:center;float:center;">
    
    <span style='width:400px;padding:5px;font-size:9pt;font-family:arial;line-height:130%;text-align:left;float:left;'><b>Chat Window</b></span>
    
    <span style='width:200px;padding:5px;font-size:9pt;font-family:arial;line-height:130%;text-align:left;float:right;'><b>Online users</b></span>

    <div id='chat' style='width:440px;height:300px;overflow-y:scroll;border:1px solid #000000;padding:5px;font-size:9pt;font-family:arial;line-height:130%;text-align:left;float:left;' onmouseover='is_scroll=true;' onblur='is_scroll=false'></div>

    <div id='chat_members' style='width:200px;height:300px;overflow-y:scroll;border:1px solid #000000;padding:5px;font-size:9pt;font-family:arial;line-height:130%;text-align:left;float:right;' onmouseover='is_scroll=true;' onblur='is_scroll=false'></div>

    <div style="clear:both; padding:5px 0 0 0;"></div>

    <input type='hidden' id='last_id'>
    <input type='hidden' id='chat_color' value='#000000'>
    <input type='text' id='chat_name' size=11 readonly>
    <input type='text' id='chat_msg' size=59>
    <input type=button value=' Send ' onclick='chat_get(1);'>

    <script>
    var colorTable = [
        "#5F9EA0", "#48D1CC", "#00FFFF", "#40E0D0", "#20B2AA", "#008B8B", "#008080", "#7FFFD4", "#66CDAA", "#8FBC8F",
        "#3CB371", "#2E8B57", "#006400", "#008000", "#228B22", "#32CD32", "#00FF00", "#7FFF00", "#7CFC00", "#ADFF2F",
        "#98FB98", "#90EE90", "#00FF7F", "#00FA9A", "#556B2F", "#6B8E23", "#808000", "#BDB76B", "#B8860B", "#DAA520",
        "#FFD700", "#F0E68C", "#EEE8AA", "#FFEBCD", "#FFE4B5", "#F5DEB3", "#FFDEAD", "#DEB887", "#D2B48C", "#BC8F8F",
        "#A0522D", "#8B4513", "#D2691E", "#CD853F", "#F4A460", "#8B0000", "#800000", "#A52A2A", "#B22222", "#CD5C5C",
        "#F08080", "#FA8072", "#E9967A", "#FFA07A", "#FF7F50", "#FF6347", "#FF8C00", "#FFA500", "#FF4500", "#DC143C",
        "#FF0000", "#FF1493", "#FF00FF", "#FF69B4", "#FFB6C1", "#FFC0CB", "#DB7093", "#C71585", "#800080", "#8B008B",
        "#9370DB", "#8A2BE2", "#4B0082", "#9400D3", "#9932CC", "#BA55D3", "#DA70D6", "#EE82EE", "#DDA0DD", "#D8BFD8"
    ];
    var k = 0;
  var w = 4;
  var h = 20;
  document.write("<table>");
    for (var i = 0; i < w; i++) {
        document.write("<tr>");
        for (var j = 0; j < h; j++) {
            document.write("<td onclick=\"document.getElementById('chat_color').value='"+colorTable[k]+"';\" style='background-color:"+colorTable[k]+";cursor:pointer;' width=12px> </td>");
            k++;
        }
        document.write("</tr>");
    }
  document.write("</table>");
  </script>

</div>

<script>
var array_last_id = Array();
var chat_cnt = 0;
var req = null;

function sajax_init_object() {
 
  var A;

  var msxmlhttp = new Array(
  'Msxml2.XMLHTTP.5.0',
  'Msxml2.XMLHTTP.4.0',
  'Msxml2.XMLHTTP.3.0',
  'Msxml2.XMLHTTP',
  'Microsoft.XMLHTTP');
  for (var i = 0; i < msxmlhttp.length; i++) {

    try {
      A = new ActiveXObject(msxmlhttp[i]);
    } catch (e) {
      A = null;
    }
  }

  if(!A && typeof XMLHttpRequest != "undefined")
    A = new XMLHttpRequest();
  if (!A)
    alert("Error creating request object!");

  return A;
}

function chat_get(mode) {

    var chat_name = document.getElementById('chat_name').value;
    var chat_msg = document.getElementById('chat_msg').value;
    var chat_color = document.getElementById('chat_color').value;
    var last_id = document.getElementById('last_id').value;

    var url = 'chat_update.php';
    var param = '';
    param += 'name=' + encodeURIComponent(chat_name);
    if (mode) param += '&msg=' + encodeURIComponent(chat_msg);
    if (chat_color) param += '&color=' + encodeURIComponent(chat_color);
    param += '&last_id=' + escape(last_id);
    param += '&chat_ss=' + escape('<?=session_id()?>');

    if (req == null) req = sajax_init_object();
    if (req == null) {//원격 접속 실패시

      location.href = '<?=$g4[bbs_path]?>/chat.php';
      return false;
    }

    req.open("POST", url, true);
    req.setRequestHeader("Method", "POST " + url + " HTTP/1.1");
    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

    if (mode) req.onreadystatechange = chat_update_complete;
    else req.onreadystatechange = chat_get_complete;
 
    req.send(param);
}

function chat_get_complete() {

    if (req.readyState == 4) {

        if (req.status == 200) {

            chat_result_display();
            document.getElementById('chat').scrollTop = 100000;
            return;
        }
    }
    else {

      return;
    }
}

function chat_update_complete() {

    if (req.readyState == 4) {

        if (req.status == 200) {

            document.getElementById('chat_msg').value = '';
            document.getElementById('chat_msg').focus();
            chat_result_display();
            document.getElementById('chat').scrollTop = 100000;
            return;
        }
    }
    else {

      return;
    }
}

function chat_result_display() {

    var chat = req.responseXML.getElementsByTagName("chat");
    var chat_members = req.responseXML.getElementsByTagName("chat_members");
    var last_id = '';

    for (i=0; i<chat.length; i++) {

        if (!chat[i].getElementsByTagName("ch_msg")[0]) continue;

        last_id = chat[i].getElementsByTagName("ch_id")[0].firstChild.nodeValue;
        if (array_last_id[last_id]) continue;

        document.getElementById('last_id').value = last_id;
        ch_name = chat[i].getElementsByTagName("ch_name")[0].firstChild.nodeValue;
        ch_msg = chat[i].getElementsByTagName("ch_msg")[0].firstChild.nodeValue;
        ch_color = chat[i].getElementsByTagName("ch_color")[0].firstChild.nodeValue;
        document.getElementById('chat').innerHTML += "<span style='color:"+ch_color+";'>" + ch_name + "</span> : <span style='color:"+ch_color+";'>" + ch_msg + "</span></br>";
        chat_cnt++;

        if (chat_cnt == 50) {

          location.href = '<?=$g4[bbs_path]?>/chat.php';
          return;
        }
    }

    document.getElementById('chat_members').innerHTML = '';
    for (i=0; i<chat_members.length; i++) {

        if (!chat_members[i].getElementsByTagName("ch_name")[0].firstChild.nodeValue) continue;
        document.getElementById('chat_members').innerHTML += chat_members[i].getElementsByTagName("ch_name")[0].firstChild.nodeValue + "(" + chat_members[i].getElementsByTagName("ch_ip")[0].firstChild.nodeValue + ")</br>";
    }
}

if (g4_is_ie)
    document.getElementById('chat_msg').onkeypress = function() { if (event.keyCode==13) chat_get(1); }
else
    document.getElementById('chat_msg').onkeypress = function(event) { if (event.keyCode==13) chat_get(1); }

document.getElementById('chat_name').value = "<?=$member[mb_id]?$member[mb_nick]:'guest_'.rand(1,1000)?>";
document.getElementById('chat_msg').focus();

chat_get();
self.setInterval('chat_get()',1000);

</script>
<!----------------------------------------------------------------------------------->
</center>

<?
include_once("../tail.sub.php");
?>
|

댓글 4개

마우스포인터가 가는 순서를 임의로 바꿔버리면 되지 않을까요?

프레임에 z-index:0; 으로 두고
마우스두고 싶은곳에 z-index: 1000; 정도 해두면?
그누보드 메인페이지에는 어짜피 login input 창이 있잖아요?
여기 ID input 창을 우선으로 하는 방법은 없을까요? id input 창에 커서를 절대적으로 우선권을 주는 방법요...
document.getElementById('chat_msg').focus();
이걸 주석처리 해보세요
이미 해봤었는데 전혀 반응이 없어요...
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
16년 전 조회 975
16년 전 조회 819
16년 전 조회 1,917
16년 전 조회 950
16년 전 조회 806
16년 전 조회 831
16년 전 조회 926
16년 전 조회 1,647
16년 전 조회 4,264
16년 전 조회 2,992
16년 전 조회 970
16년 전 조회 806
16년 전 조회 1,555
16년 전 조회 993
16년 전 조회 2,284
16년 전 조회 934
16년 전 조회 1,601
16년 전 조회 1,459
16년 전 조회 1,572
16년 전 조회 1,023