링크가있는 긴 페이지 (예 : 2500px)가 있습니다. 링크를 클릭하면 화면 중심의 DIV (jQuery 창 높이, 스크롤 위치 등-아래에 추가 된 코드 사용)가 열립니다.
브라우저를 사용하여 페이지를 직접 탐색 할 때 제대로 작동하지만 iframe을 사용하는 다른 페이지에이 페이지 (특히 WordPress)를 포함하면 화면 중심 div 코드가 예상대로 작동하지 않고 iframe 높이에 따라 팝업이 표시됩니다. 완전한 iframe을 활성 창으로 사용한다는 의미입니다.
이 문제를 어떻게 해결할 수 있습니까? iframe에서 링크를 클릭해도 화면 중심의 DIV를 표시하고 싶습니다.
참고 : 상위 및 하위 페이지는 서로 다른 도메인에 있습니다. Parent = 내 페이지를 소스로 가질 iframe이있는 페이지 Child = My page
다음은 내가 사용하는 화면 중심 코드입니다.
$("#myDiv").css("position","absolute");
$("#myDiv").css("top", Math.max(0, (($(window).height() - $("#myDiv").outerHeight()) / 2) + $(window).scrollTop()) + "px");
$("#myDiv").css("left", Math.max(0, (($(window).width() - $("#myDiv").outerWidth()) / 2) + $(window).scrollLeft()) + "px");
https://developer.mozilla.org/en-US/docs/Web/API/Window.postMessage 에서 다소 복사 붙여 넣기
하나의 창에서 변수를 전송합니다.
otherWindow.postMessage(message, targetOrigin, [transfer]);
다른 사람에게.
window.addEventListener("message", receiveMessage, false);
function receiveMessage(event) {
if (event.origin !== "http://example.org:8080"){
return;
}else{
// get data from the event and update it
}
누구나 메시지를 보낼 수 있으므로 원본을 매우 엄격하게 확인해야한다는 점에서 이벤트를 전달하는 것과 약간 비슷 합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다