채택완료

자바스크립트 고수님 ㅠㅠ 소스한번 봐주세요...

2016-07-14 (목) 12:05:49 5,868

아래 내용으로 된 소스가 있습니다.

2009년즘에 만들어진 소스인데 아직까지 잘 쓰고 있습니다만...

현재 IE11버젼이 나온 상태에서 IE버젼이나 윈도우 업데이트상태에 따라

팝업이 한번만 뜨고 두번째 부터는 팝업이 안뜨는 현상(응답이 없슴)이 나타나는 PC가 발생하고 있습니다.

물론 잘 되는 PC가 아직은 더 많은데 앞업이 한번만 뜨고 반응이 없다보니 소스수정을 해야할 것

같아 어떤 부분이 잘못되었는지 도움을 얻고자 글을 올렸습니다.

팝업이 한번만 뜨고 안뜨는 부분이 아래 내용중

function f_open(arg)

function f_open_answer(arg)

입니다.

혹시 부분인데 이 부분을 a herf 태그로 따로 빼야할까요? ㅠㅠ

고수님들 팁좀 부탁드리겠습니다 !! 꾸벅~

Copy
<script type="text/javascript">    function f_change(arg)    {        var path =  $('word['+arg+']').value;     var split = path.split('|');        if(split[1] == 1)        {            $('pageView_1['+arg+']').innerHTML = "Page";            $('pageView_2['+arg+']').innerHTML = "Page";            $('chk_'+arg).disabled = false;        }        else if(split[1] == 2)        {            $('pageView_1['+arg+']').innerHTML = "No";            $('pageView_2['+arg+']').innerHTML = "No";            $('chk_'+arg).disabled = false;        }        else if(split[1] == 3)        {            $('pageView_1['+arg+']').innerHTML = "Day";            $('pageView_2['+arg+']').innerHTML = "Day";            $('chk_'+arg).disabled = false;        }  else if(split[1] == 4)        {            $('pageView_1['+arg+']').innerHTML = "과";            $('pageView_2['+arg+']').innerHTML = "과";            $('chk_'+arg).disabled = false;        }        else        {            $('pageView_1['+arg+']').innerHTML = "";            $('pageView_2['+arg+']').innerHTML = "";            $('chk_'+arg).disabled = true;        }    }    function f_question()    {        if(!$('school_no').value)        {            alert('클래스를 선택하세요.    ');            $('school_no').focus();            return;        }        if(!$('subject_title').value)        {            alert('타이틀을 입력하세요.    ');            $('subject_title').focus();            return;        }        var count = 0;        var pform  =document.pForm_2;        for( var i=0; i < pform.elements.length; i++ )        {            var elem = pform.elements[i];            if ( elem.name == "check[]" )            {                if(elem.checked  == true)                {                    var mem = elem.value;                    if(!$('range_1['+mem+']').value)                    {                        alert('범위를 설정하세요.    ');                        $('range_1['+mem+']').focus();                        return;                    }                    if(!$('range_2['+mem+']').value)                    {                        alert('범위를 설정하세요.    ');                        $('range_2['+mem+']').focus();                        return;                    }                    count++;                }            }        }        if(count == 0)        {            alert('Men을 선택하세요.    ');            return;        }        $('title').value = $('subject_title').value;        $('test_day_t').value = $('test_day').value;      document.pForm_2.submit();    }    function f_checkAll()    {        var pform  =document.pForm_2;        for( var i=0; i < pform.elements.length; i++ )        {            var elem = pform.elements[i];            if ( elem.name == "check[]" )            {                if(elem.disabled == false)                {                    if($('checkAll').checked == true)                    {                        elem.checked = true;                    }                    else                    {                        elem.checked = false;                    }                }            }        }    }    function f_open(arg)    {       popcenter('/question/popup_vocabulary_class.php?class_no='+arg,'popup_vocabulary',800,600,1,0);    } function f_open_answer(arg)    {       popcenter('/question/popup_vocabulary_class_answer.php?class_no='+arg,'popup_vocabulary_answer',800,600,1,0);    } function f_del() {        var count = 0;        var pform  =document.pForm_2;        for( var i=0; i < pform.elements.length; i++ )        {            var elem = pform.elements[i];            if ( elem.name == "check[]" )            {                if(elem.checked  == true)                {                    var mem = elem.value;      $('range_1['+mem+']').value="";               $('range_2['+mem+']').value="";                    count++;                }            }        }        if(count == 0)        {            alert('삭제할 Men을 선택하세요.    ');            return;        } }</SCRIPT>
 
|

답변 2개 / 댓글 1개

채택된 답변
+20 포인트

popcenter 라는 함수로 팝업뛰우시는거 같은데 이부분이 문제있어 보입니다.

window.open으로 바꾸시거나 해당함수 체크하세여 

해당함수가 이렇습니다 ㅠㅠ 어디에 문제가 있는지 잘 모르겠습니다. 한번 봐주세요~

function popcenter(mypage,myname,w,h,scroll,resize){

  var winl = (screen.width-w)/2;
  var wint = (screen.height-h)/2;
  var settings  ='height='+h+',';
      settings +='width='+w+',';
      settings +='top='+wint+',';
      settings +='left='+winl+',';
      settings +='scrollbars='+scroll+',';
   settings +='status=no,';
      settings +='resizable='+resize;
  win=window.open(mypage,myname,settings);

  if(parseInt(navigator.appVersion) >= 4){win.window.focus();}

} 

답변에 대한 댓글 1개

위함수를 사용하지마시구여
그냥 스크립트로 뛰우세여
window.open
("http://www.dreamiju.com/pop/open_pop/infor_nb.html",'popup','top=0,left=0,width=400,height=300,scrollbars=yes,status=no');
}

답변을 작성하려면 로그인이 필요합니다.