【问题标题】:Open Iframe in bootstrap modal on click单击时以引导模式打开 Iframe
【发布时间】:2017-07-27 14:04:43
【问题描述】:

我正在尝试创建一个用于打开包含 iframe 的模式的按钮。 iframe 应该只在模式打开后加载。现在,当我单击按钮打开模式时,没有加载任何内容,控制台中也没有给出任何错误。

我正在关注我找到的旧 sn-p here,但似乎使用较新版本的引导程序,它似乎不起作用。

jQuery

var frameSrc = "http://test.com";

$('#ticketViewBtn').click(function(){
    $('#ticketView').on('show', function () {

        $('iframe').attr("src",frameSrc);
      
    });
    $('#ticketView').modal({show:true})
});

引导

<!-- Button trigger modal -->
<button class="btn btn-primary btn-sm" id="#ticketViewBtn" data-toggle="modal" data-target="#ticketView">
    TICKET
</button>
<!-- Modal -->
<div class="modal fade" id="ticketView" tabindex="-1" role="dialog" aria-labelledby="ticketViewLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title" id="ticketViewLabel">TICKET</h4>
            </div>
            <div class="modal-body">
                <iframe src="" height="600px" width="800px" frameborder="0"></iframe>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            </div>
        </div>
        <!-- /.modal-content -->
    </div>
    <!-- /.modal-dialog -->
</div>
<!-- /.modal -->

【问题讨论】:

    标签: jquery


    【解决方案1】:

    使用此代码加载 iframe。

    $('#ticketViewBtn').click(function(){    
        var iframe_id = $("#myiframe");
        iframe.attr("src", iframe.data("src")); 
        $('#ticketView').modal({show:true})
    });
    
    <iframe id="myiframe" src="" height="600px" data-src="http://test.com" src="about:blank" width="800px" frameborder="0" onload="resizeIframe(this)" ></iframe>
    
    function resizeIframe(iframe) {
        iframe.height = iframe.contentWindow.document.body.scrollHeight + "px";        
    }
    

    【讨论】:

      【解决方案2】:

      好的.. 这是简单的模态..
      没有 jquery 也没有引导程序
      只是骨架..
      每个链接都会'target'进入模态div中的iframe_modal

      .modal {
        z-index:3;
        display:none;
        padding-top:50px;
        position:fixed;
        left:0;
        top:0;
        width:100%;
        height:100%;
        overflow:auto;
        background-color:rgb(0,0,0);
        background-color:rgba(0,0,0,0.4)
      }
      <a href="https://www.example.com" onclick="document.getElementById('modal1').style.display='block'" target="iframe_modal" >example</a>  
      <a href="https://www.bing.com"    onclick="document.getElementById('modal1').style.display='block'" target="iframe_modal">bing</a>
      
      <div id="modal1" class="modal">
        <span onclick="document.getElementById('modal1').style.display='none'; document.getElementById('iframe1').src =''" class="">&times;</span>
        <iframe id="iframe1" height="300px" width="100%" src="" name="iframe_modal"></iframe>
      </div>

      使用 jquery:

      <a href="https://www.example.com">example</a>
      <a href="https://bing.com/"      >bing</a>
      
      <div id="modal1" class="modal">
        <span>&times;</span>
        <iframe id="iframe1" height="300px" width="100%" src="" ></iframe>
      </div>
      
      $(document).ready(function(){
          $("a").click(function(){  
              $("#modal1").show();
      

      当点击一个'a'时,当前(这个)属性href'a'将被获取和设置 进入 src '#iframe1'

              $("#iframe1").attr("src", $(this).attr("href"));
              return false;
          });
          $("span").click(function(){
              $("#modal1").hide();
              $("#iframe1").attr("src", "");
          });    
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-03-08
        • 1970-01-01
        • 2015-07-24
        • 1970-01-01
        • 2018-11-10
        • 2020-06-21
        • 2017-10-22
        相关资源
        最近更新 更多