새창이 계속 열리는 현상 소스 수정 해주실분 - 간단 자바스크립트 채택완료
아래는 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개
답변에 대한 댓글 6개
댓글을 작성하려면 로그인이 필요합니다.
브라우저 업데이트랑은 상관없어요..
해당 부분의 이해도가 없다면 계속 헛바퀴만 돌겁니다.
스크립트는 순차 실행이라 선실행 부분에서 오류가 발생하면
다음 부분이 아예 먹통일 수도 있습니다.
URL 오픈하시는게 나을 것 같습니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
사이트 환경에 따라 다르긴 하겠지만 다음과 같이 시도해 볼 수 있을 것 같습니다.
</p>
<p><!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('<a href="https://www.youtube.com/watch?v=3rq6wTdXt1w'," target="_blank" rel="noopener noreferrer">https://www.youtube.com/watch?v=3rq6wTdXt1w',</a> '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></p>
<p>
답변에 대한 댓글 8개
이전 질문의 댓글을 참고 하셔서 수정해 보세요
https://sir.kr/qa/513792
참고하셔서 원하시는 형식으로 수정해보세요
[code]
<!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>
[/code]
팝업을 닫을 때 다시 원래 페이지로 이동하려면 주석 처리된 코드를 주석해제후 적용하시면 됩니다
<a id="youtubeLink" href="https://www.youtube.com/watch?v=3rq6wTdXt1w" data-lightbox="youtube">YouTube 동영상</a>
</div> id를 부여해서 수정해 보세요
도와주시는데 원하는 답변이 아니였어요
댓글을 작성하려면 로그인이 필요합니다.
사이트 환경이나 이런 조건부분을 확인해서 작업을 진행해야할듯한데요.
왜 그런지 분석을 해보면서 작업을 해봐야 정확하게 될꺼 같네요.
저에게 쪽지 한번 부탁드립니다.
답변에 대한 댓글 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 이고 창이름도 없고 창도 못닫고 리로드하면 새창이 계속 열립니다. 유튜브 동영상주소에서만 그런 현상이 나서 이 소스에서 정상작동되게 하면 별도 사이트 환경이나 이런것 문제 없이 작동될 것으로 보입니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인