팝업창에서 인자를 전달받아 실행될 플레이어를 작성할 미리 함수를 작성합니다. 이 인자는 부모창에서 전달받기 떄문에 주소가 노출되지 않고 부모창이 없이는 주소만 링크로 실행되지 않습니다.
일단 팝업창에서 플레이어 같은 꽉대기 될 HTML은 미리 작성해 놓고요.
--- 팝업창에서 플레이어 함수---
function player(code) {
// 부모창에서 code 받아서 플레이어를 생성이나 주소의 변경 같은 내용....
}
--- 부모창에서 단일 팝업창 생성과 실행명령 ---
function popup(code) {
if (window.popPlayer) { // 팝업창이 있다면 그냥 code 전달
popPlayer.player(code); // 팝업창의 player 함수 실행
} else { // 팝업창이 없는 경우 팝업창 생성
window.popPlayer = window.open('');
popPlayer.onload = function() {
popPlayer.player(code); // 팝업창 준비가 되면 팝업창의 player 함수 실행
}
}
}
이런 식으로 작성하면 되겠습니다.
부모창에서는 자바스크립트에서 마우스클릭이라든가에서 popup(code) 만 연결해 놓으면 되겠네요.
댓글 6개
opener를 체크하여 없으면 실행되지않도록 하면 되지않을까 합니다
팝업창에서 인자를 전달받아 실행될 플레이어를 작성할 미리 함수를 작성합니다. 이 인자는 부모창에서 전달받기 떄문에 주소가 노출되지 않고 부모창이 없이는 주소만 링크로 실행되지 않습니다.
일단 팝업창에서 플레이어 같은 꽉대기 될 HTML은 미리 작성해 놓고요.
--- 팝업창에서 플레이어 함수---
function player(code) {
// 부모창에서 code 받아서 플레이어를 생성이나 주소의 변경 같은 내용....
}
--- 부모창에서 단일 팝업창 생성과 실행명령 ---
function popup(code) {
if (window.popPlayer) { // 팝업창이 있다면 그냥 code 전달
popPlayer.player(code); // 팝업창의 player 함수 실행
} else { // 팝업창이 없는 경우 팝업창 생성
window.popPlayer = window.open('');
popPlayer.onload = function() {
popPlayer.player(code); // 팝업창 준비가 되면 팝업창의 player 함수 실행
}
}
}
이런 식으로 작성하면 되겠습니다.
부모창에서는 자바스크립트에서 마우스클릭이라든가에서 popup(code) 만 연결해 놓으면 되겠네요.
방법이 없는건가?