2012-09-30 2 views
1

다른 프레임이 변경되었을 때 어떻게 프레임을 알릴 수 있는지 잘 이해할 수 없습니다.프레임에 Javascript 이벤트가로드되었습니다.

<frameset rows="*,50"> 
    <frame id="main_frame" src="mainframe" frameborder="0" name="main_frame"> 
    <frame id="footer" src="footer" frameborder="0" scrolling="no" noresize="noresize" name="footer"> 
</frameset> 

푸터 프레임은 일단로드되면 메인 프레임에서 일부 값을 설정해야합니다. 사용자가 다른 페이지를로드하면이 설정이 다시 발생해야합니다. 꼬리말에, 메인 프레임이 로딩을 완료했을 때 (변경 될 때마다) 이벤트를 원합니다.

가능합니까 (jquery 일 수도 있습니다)?

+0

시도 <프레임의 온로드 = "foo는()"... /> – benbai123

+0

내가 그 또한 일 것 같아요. 메인 프레임의 프레임 정의에 onload를 넣었습니다 (변경된 신호를 보내려고합니다). 어디에서 foo()를 넣을까요? 바닥 글에 포함 된 자바 스크립트에있는 메소드를 호출해야합니다. – orange

답변

2

다음은 단지 예입니다. jQuery의로드 이벤트를 사용했고이 코드는 main_frame 프레임에 배치됩니다. 프레임의 부모를 얻은 다음 자식 프레임을 배열별로 가져옵니다. 바라기를 당신은 당신이 필요로하는 것으로 그것을 추정 할 수 있습니다.

이 예제에서는 yourValue 변수가 프레임 중 하나에서 전역 변수라고 가정합니다.

$(document).ready(function() { 
    $(window).load(function(){ 
     window.parent.frames[0].yourValue = 4; // change values of main frame 
     window.parent.frames[1].yourValue = 4; // change values of footer frame 
    }); 
}); 
+0

이유는 확실하지 않지만 이벤트가 실행되지 않습니다. 나는 그것을 메인 프레임에 넣었다 ... – orange

+0

@ user1230724 나는 나의 대답을 바꾸었다. 그것이 당신에게 효과가 있는지보십시오. 나는 위의 것을 사용 했으므로 그렇게해야합니다. 또한 jquery를로드하는지 확인하십시오. – Daedalus

관련 문제