첫째로 꺼내기 : 가능한 경우 사물을 비동기 적으로 실행해야한다는 것을 알고 있습니다.다음 함수가 실행되기 전에 iframe이로드 될 때까지 기다리시겠습니까?
은 본질적으로 이것은 IFRAME으로 현재 페이지를로드 :
나는 함수라는 랩이있다. 링크가 페이지에서 클릭 될 때에도 자바 스크립트가 실행되도록 유지해야합니다.
function wrap(){
event.preventDefault();
var pathname = window.location.pathname;
$('body').html('<iframe id="wrapper" src="'+ pathname +'" >')
$('iframe').load(function(){
//this is where the magic outght to happen
});
}
랩이 실행되면 iframe의 내용을 조작하기 시작합니다. 애플 리케이션의 구조를 위해 랩 함수의 ouside 또는 랩 함수에 전달하는 매개 변수를 사용하여이 작업을 수행해야한다. 애니메이션을 실행하고 소리를 재생하는 일련의 함수로이 작업을 수행합니다 (시간이 걸리고 순차적으로 실행되어야하는 항목). 이것은 내가 겉으로보기에 이상적입니다.
실제로로드 된 후 코드가 실행 것이이 방법의 reday-function은 iframe에서 작동하지 않지만 load-function에도 콜백 함수가 있으므로 전체 apporoach가 작동합니다! – Himmators
여러 iframe이로드 될 때까지 기다리는 것은 어떻습니까? – jbyrd
iframe에서 준비 기능을 사용할 수 없습니다. DOM이 완전히로드 된 후 콜백을 실행하기 만하면됩니다. JQuery는 .ready (핸들러) 함수를 호출하는 대신 $ (핸들러) 구문을 사용하도록 권장한다. https://api.jquery.com/ready/ – MorgoZ