새창이 계속 열리는 현상 소스 수정 해주실분 - 간단 자바스크립트

새창이 계속 열리는 현상 소스 수정 해주실분 - 간단 자바스크립트

QA

새창이 계속 열리는 현상 소스 수정 해주실분 - 간단 자바스크립트

답변 4

본문

아래는 1.html이라는 태그이구요. 브라우저에서 실행하면 유튜브 영상을 보여주고 일정 시간이 지나면 창을 닫고 다시 1.html로 돌아오면 새창이 기존에 열린 aaa 창에 열렸던 방식인데 10월 브라우저 업데이트 이후 새창이 계속 열리고 열린 창도 안닫아집니다. 이소스 수정 해주실 분.... 크롬, 엣지, 웨일 다 안되네요.

 

* 새창을 네이버로 열면 창 잘 닫히구요. 유튜브로만 했을때 안 닫히네요. -.-

<!DOCTYPE html>
<html lang="ko">
<head>
  <title>새창으로 열고 닫기 테스트</title>
</head>
<body>
  <script>
                    window.onload = function() {
                    var win=window.open('https://www.youtube.com/watch?v=3rq6wTdXt1w','aaa','width=600,height=500,toolbar=no,scrollbars=no,resizable=no');
                        setTimeout(function() {
                        win.close();
                        }, 15000);
                        setTimeout(function() {
                        window.location.href = './1.html';
                        }, 20000);
                    };
                    </script>
</body>
</html>

이 질문에 댓글 쓰기 :

답변 4

차라리 모달 처리하는 것이 어떠신가요?

요즘은 웹뷰에서 팝업이 애물단지라

클래식 팝업을 모달 팝업으로 다 전향하는 추세거든요.

이 방법도 한번 시도해볼께요. 모달폼에서 유튜브 동영상이 자동재생이 되는지가 문제지만요. 그리고 동영상을 새창을 열면서 동영상이 정상적으로 시청중인지도 체크하는 php 소스가 있어서 수정할게 많을것 같아요. -.-

iframe에서 클릭 없이 웹페이지 로드만 되면 자동재생되는 소스 코드 좀 부탁드립니다. 전 안되던데요  autoplay 옵션 여러가지 검색해서 사용해도 www.youtube.com에서 연결을 거부했습니다. 라고 하면서 자동재생이 안되는데요. iframe에서는요

사이트 환경이나 이런 조건부분을 확인해서 작업을 진행해야할듯한데요. 

왜 그런지 분석을 해보면서 작업을 해봐야 정확하게 될꺼 같네요.

저에게 쪽지 한번 부탁드립니다.

카톡 bitcoinoption7 입니다. 위 코드를 네이버로 하면 창 이름 aaa에 계속해서 새로 네이버가 뜹니다. 창 닫는 시간을 늦추고 리로드를 하면 네이버가 1개 창에 계속 보입니다.
<!DOCTYPE html>
<html lang="ko">
<head>
<title>새창으로 열고 닫기 테스트</title>
</head>
<body>
<script>
window.onload = function() {
var win=window.open('https://naver.com','aaa','width=600,height=500,toolbar=no,scrollbars=no,resizable=no');
setTimeout(function() {
win.close();
}, 20000);
setTimeout(function() {
window.location.href = './1.html';
}, 15000);
};
</script>
</body>
</html>
이렇게 하면 네이버는 창이 계속 같은 창 이름에서 열립니다. 창 닫기는 늦추면요 창닫기를 빠르게 하면 창 닫히고 잘 열리는 소스인데 유튜브 영상 주소에서만 안됩니다.

유튜브 동영상 주소로 하면 var win 도 null 이고 창이름도 없고 창도 못닫고 리로드하면 새창이 계속 열립니다. 유튜브 동영상주소에서만 그런 현상이 나서 이 소스에서 정상작동되게 하면 별도 사이트 환경이나 이런것 문제 없이 작동될 것으로 보입니다.

사이트 환경에 따라 다르긴 하겠지만 다음과 같이 시도해 볼 수 있을 것 같습니다.

 


<!DOCTYPE html>
<html lang="ko">
<head>
  <title>새창으로 열고 닫기 테스트</title>
</head>
<body>
  <button id="openPopup">팝업 열기</button>
  <script>
    document.getElementById("openPopup").addEventListener("click", function() {
      var win = window.open('https://www.youtube.com/watch?v=3rq6wTdXt1w', 'aaa', 'width=600,height=500,toolbar=no,scrollbars=no,resizable=no');
      setTimeout(function() {
        win.close();
      }, 15000);
      setTimeout(function() {
        window.location.href = './1.html';
      }, 20000);
    });
  </script>
</body>
</html>

 

naver.com은 새창 닫히고 1개 창에 계속 보여지는데 유튜브 동영상주소는 안됩니다. 버튼 방식이든지 시간체킹 이던지 모두 안되어서 질문 드린것이구요. 네이버 잘되는데 유튜브 동영상주소가 안되서 2일째 헤매는 중입니다.

레이어 팝업 형태로 수정해봤습니다.
참고하셔서 원하시는 형식으로 수정해보세요


<!DOCTYPE html>
<html lang="ko">
<head>
  <title>레이어 팝업 테스트</title>
  <style>
    #popupContainer {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.7);
    }
    #popupContent {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      background: white;
      padding: 20px;
    }
  </style>
</head>
<body>
  <button id="openPopup">팝업 열기</button>
  <div id="popupContainer">
    <div id="popupContent">
      <button id="closePopup">닫기</button>
      <!-- 팝업 내용 추가 -->
      <iframe src="https://www.youtube.com/watch?v=3rq6wTdXt1w" width="600" height="500" frameborder="0"></iframe>
    </div>
  </div>
  <script>
    document.getElementById("openPopup").addEventListener("click", function() {
      // 팝업 열기
      document.getElementById("popupContainer").style.display = "block";
    });

    document.getElementById("closePopup").addEventListener("click", function() {
      // 팝업 닫기
      document.getElementById("popupContainer").style.display = "none";
      // 이후 원래 페이지로 이동할지 여부를 결정할 수 있습니다.
      // window.location.href = './1.html';
    });
  </script>
</body>
</html>


팝업을 닫을 때 다시 원래 페이지로 이동하려면 주석 처리된 코드를 주석해제후 적용하시면 됩니다

A  태그 처럼 누르면 새탭이나 현제 페이지가 이동되어서 안되었기에 새창으로 열려고 한것입니다. 유튜브 동영상 주소는 a 태그나 주소창으로만 이동해야 정상적으로 자동재생이 됩니다. A 태그를 사용해도 다음 동영상으로 이동시키면 창이 계속 열려서 이 문제를 해결할 수 없네요.
도와주시는데 원하는 답변이 아니였어요

브라우저 업데이트랑은 상관없어요..

해당 부분의 이해도가 없다면 계속 헛바퀴만 돌겁니다.

 

스크립트는 순차 실행이라 선실행 부분에서 오류가 발생하면

다음 부분이 아예 먹통일 수도 있습니다.

 

URL 오픈하시는게 나을 것 같습니다.

유튜브가 브라우저 업데이트에 맞춰서 무엇인가를 변경했어요. 잘 되던 사이트가 며칠전부터 새창이 계속 열립니다. 유튜브 동영상을 새창으로 여는 이유는 유튜브 동영상은 새창으로 열지 않으면 오토플레이가 안되어서 자동 재생이 안됩니다. 오래전부터요. 그래서 웹페이지에서 새창으로 유튜브를 보여주고 일정 시간이 되면 meta refresh 태그로 자동으로 다음 유튜브동영상 주소를 보여주는 페이지로 이동하면서 같은 창이름으로 새창에 새 동영상이 보여지게 운영중이였는데 새창이 갑자기 계속 열리고 있어서 자바스크립트로 시간 체크해서 창을 닫고 이동하게 했는데 네이버 같은 사이트는 새창으로 열면 닫히고 계속해서 새창이 안 열리는데 유튜브 동영상 주소만 새창이 계속 열리거나 부모가 열었는데도 창을 닫을 수 없는 현상이 10월 10일부터 나타났어요. URL을 오픈하면 더 복잡해서 해당 현상을 1개 스트립트 파일로 만들어서 보여드렸는데 소스를 html 로 저장해서 브라우저에서 열어서 보시면 제가 무엇이 안되는지 알게 될겁니다. 스크립트 오류가 아니라 해당 소스에서 동영상 주소만 네이버로 바꾸면 잘 작동합니다. -.- 유튜브 동영상 주소만 안되고 있어요. 갑자기

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 947
© SIRSOFT
현재 페이지 제일 처음으로