테스트 사이트 - 개발 중인 베타 버전입니다

그누보드 alert 창 sweetalert2로 적용 질문입니다.

쵸리이 7개월 전 조회 2,193

기본 basic 스킨 사용중입니다.

 

theme/member/basic/head.sub.php에
<script src='https://cdn.jsdelivr.net/npm/sweetalert2@11'></script>
추가하고
theme/member/basic/head.php
 

$(function(){

        $(".gnb_menu_btn").click(function(){

            $("#gnb_all, #gnb_all_bg").show();

        });

        $(".gnb_close_btn, #gnb_all_bg").click(function(){

            $("#gnb_all, #gnb_all_bg").hide();

        });

    });

아래에
 

 // alert을 swal로 대체
    window.alert = function(message) {
        Swal.fire({
            text: message,
            icon: 'info',
            confirmButtonText: '확인'
        });
    };

이렇게 해도

비밀번호 수정페이지 들어갈때 로그인이 필요하다는 alert 창이나
비밀번호 찾기페이지에 이메일 자동숫자 입력하고 alert창에 적용이 안됩니다.. 미치겠습니다.

lib/common.lib.php의 alert가 있는 script 부분을 고쳐도 적용이 안됩니다..
댓글을 작성하려면 로그인이 필요합니다.

답변 4개

들레아빠
7개월 전

해결하셔서 다행 입니다.
제 정보와 차이점이 있나요?

로그인 후 평가할 수 있습니다

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

7개월 전

해결했습니다 감사합니다

로그인 후 평가할 수 있습니다

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

들레아빠
7개월 전

<script src='https://cdn.jsdelivr.net/npm/sweetalert2@11'></script> <= 삭제

 

/lib/common.lib.php에서

// 경고메세지를 경고창으로
function alert 이부분을 아래 코드로 교체 하세요.

</p>

<p>function alert($msg='', $url='') {

    $msg = strip_tags($msg);

    $msg = str_replace("\n", "\\n", addslashes($msg));</p>

<p>    echo '<script src="<a href="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>';" target="_blank" rel="noopener noreferrer">https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>';</a>

    echo '<script>';

    echo 'document.addEventListener("DOMContentLoaded", function() {';

    echo 'Swal.fire({ text: "'.$msg.'", icon: "info", confirmButtonText: "확인" }).then(() => {';

    if ($url) {

        echo 'location.href = "'.$url.'";';

    } else {

        echo 'history.back();';

    }

    echo '});';

    echo '});';

    echo '</script>';

    exit;

}</p>

<p>

로그인 후 평가할 수 있습니다

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

7개월 전

웹브라우저 기준으로

native 메소드인 window.alert 를

third party 라이브러리로 단순 오버라이딩 해서는

원하는 결과를 얻을 수 없습니다.

 

동작 방법부터 전자는 동기 메소드 후자는 비동기 메소드 이기 때문입니다.

 

소스코드 전반적으로 window.alert 를 사용하는 부분에 대해

비동기 메소드 콜백 형태로 바꿔준다음 전반적으로 올바로 동작하는지에 대해 테스트 하는 작업이 대대적으로 필요합니다.

로그인 후 평가할 수 있습니다

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

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

로그인