2011-04-09 4 views
3

외부 (동일한 서버, 다른 페이지) 내용을로드해야하는 여러 링크에 대해 Colorbox 라디케이터를 만들려고합니다. 경우에 따라 모달을 벗어나지 않고 콘텐츠 내에서 연결할 수 있어야하므로 iframe이 최선의 방법 인 것처럼 보이지만 onComplete 콜백이 무한히 실행되는 것으로 나타났습니다. 그것은 일반적이기 때문에, 나는 또한 동적으로 콘텐츠 자체에 모달 크기를 조정하기 위해 노력하고있어여러 번 onComplete 컬러 박스가 발생합니다.

$('a[rel="modal"]').colorbox({ 
    href: function() { 
    return $(this).attr('href'); 
    }, 
    title: function() { 
    var title = $(this).attr('title'); 
    return title != 'undefined' ? title : false; 
    }, 
    rel: 'nofollow', 
    iframe: true, 
    onComplete:function() { 
    alert('complete'); 
    $.colorbox.resize({ 
     innerHeight: ($('iframe').offset().top + $('iframe').height()), 
     innerWidth: ($('iframe').offset().left + $('iframe').width()) 
    }) 
    } 
}); 

:이 코드를 사용. 뭔가를 지정하지 않으면 자체적으로 접힌 iframe으로 끝납니다. 나는 여기서 뭔가를 놓치고 있다는 것을 알고 있지만 그것이 무엇인지 모르겠습니다.

프레임 안에로드 된 페이지에는 Colorbox 스크립트와 위의 코드가 포함 된 스크립트가 포함되어야한다고 덧붙여 야합니다. 그걸로 피할 수없는 웜홀이 생기는지 확인해야 할 것입니다.

도움을 주시면 감사하겠습니다.

UPDATE

onComplete이 발사 될 때 iframe이 존재하지 않는 것 같습니다. 나는 그것을 기대하지 않았으므로 지금 당장 조언을 할 수있을 것입니다. :-)

답변

1

이것이 지금 도움이 될지 확실하지 않지만 컬러 박스 루핑과 같은 문제가 발생했습니다. 결국 'href' 속성의 값으로 문제가 발생했습니다. (나는 'inline' : true을 갖지 않고 요소 ID를 참조하고있었습니다.)

'href' 속성에서 호출되는 함수를 정적 위치로 바꾸면 작동합니까? 콘텐츠가 없으면 iframe이없는 이유 일 수 있습니다.

관련 문제