2016-11-03 3 views
0

팬시 박스 (iframe) 안에 ajax를 사용하여 서버의 일부 동적 내용을 표시하려고합니다. 나는이jquery fancybox iframe 내부에 동적 HTML 문자열 표시

index.html을 같이 전체 HTML 페이지를 표시 할 수 있습니다

<html> 
    <head> 
     <link href="css/fancybox/jquery.fancybox.css" rel="stylesheet"> 
     <script src="js/fancybox/jquery-1.10.2.min.js" type="text/javascript"></script> 
     <script src="js/fancybox/jquery.fancybox.js" type="text/javascript"></script> 
     <script type="text/javascript"> 
      function test() 
      { 
       var input = 'some values'; 
       $.ajax({ 
        url: 'ShowData?inputStr='+input, 
        success: function(data){ 
        $.fancybox({ 
         fitToView : false, 
         width  : '80%', 
         height  : '80%', 
         autoSize : false, 
         closeClick : false, 
         type  : 'iframe', 
         href  : 'test.html' 
        }); 
        },cache: false, 
        error: function(){} 
       }); 
      } 
     </script> 
    </head> 
    <body> 
     <h2><a class="fancybox" href="#" onclick="test();">Test</a></h2> 
    </body> 
</html> 

test.html를

<html> 
    <head> 
     //Styles 
     <script type="text/javascript"> 
      //Some scripts 
     </script> 
    </head> 
    <body> 
     This is a test page 
     <!-- Some divs --> 
    </body> 
</html> 

그것은 잘 작동하지만 HTML 페이지 매번를 작성하고 보낼 싶지 않아 링크. 대신, html 페이지에있는 문자열을 보내고 iframe 내부에 표시하려고합니다.

가능합니까? 감사합니다.

답변

1

fancybox의 콘텐츠 속성을 사용하여 fancybox에서 직접 콘텐츠를 설정합니다.

function test() 
{ 
    var inputStr = 'some values'; 
    $.fancybox({ 
     fitToView : false, 
     width  : '80%', 
     height  : '80%', 
     autoSize : false, 
     closeClick : false, 
     type  : 'iframe', 
     content  : inputStr 
    }); 
} 
+0

는이 '$의 .fancybox 같은 유형 속성을 제거 유사하다 (데이터 { fitToView : FALSE 폭 : '80 %의' 신장 '80 %의 ' 에서 autoSize : 거짓 거짓말 })''그러나 나는 그것을 원하지 않는다. 나는 표시하고자하는 html 코드가 jquery 탭, hicharts 및 google 테이블과 함께 매우 풍부한 코드이며, 일부 충돌이 발생한다. –

+0

나는' jQuery.noConflict();'그러나 오류를 제거 할 수는 없습니다. –