比方说,你有2页,index.htm
和somepage.htm
你有index.htm
页模式,并要显示somepage.htm
内模态。然后
index.htm网页代码会
<a href="somepage.htm" data-toggle="modal" data-target="#extLinkModal">
<div class="modal fade" id="extLinkModal" tabindex="-1" role="dialog" aria-labelledby="extlinkModalLabel" aria-hidden="true" data-backdrop="static">
<div class="modal-dialog " role="document">
<div class="modal-content">
//Here you can show the content from `somepage.htm`
</div>
</div>
</div>
和somepage.htm页面内容将是
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="extLinkModalLabel"></h4>
</div>
<div class="modal-body">
//Put the page content here
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
这将解决该问题somepage.htm溢出了模态的,有模式上没有滚动条
备用解决方案
OP在评论中问道,远程页面内容加载到modal-body
和上面的代码示例是引导V3的默认行为+地方模式忽略modal-body
始终加载远程内容到<div class="modal-content">
不要紧,即使<div class="modal-body">
的<div class="modal-content">
内部存在。
为了解决这个问题,并确保内部<div class="modal-body">
- 使用远程内容加载自举模式events
- 不要在模态呼叫按钮或链接
因此,使用href
或remote
模态呼叫按钮或链接将为
<a datalink="somepage.htm" data-toggle="modal" data-target="#extLinkModal" class="btn btn-primary">
其中href
改为datalink
或任何字可以被使用,但不href
或remote
否则模态将其检测为远程内容而忽略<div class="modal-body">
和内容加载到<div class="modal-content">
模态HTML
<div class="modal fade" id="extLinkModal" tabindex="-1" role="dialog" aria-labelledby="extlinkModalLabel" aria-hidden="true" data-backdrop="static">
<div class="modal-dialog " role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="extLinkModalLabel"></h4>
</div>
<div class="modal-body">
//Remote Page Content loads here
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
和JS
<script>
$(document).ready(function() {
$("#extLinkModal").on("show.bs.modal", function(e) {
var link = $(e.relatedTarget);
$(this).find(".modal-body").load(link.attr("datalink"));
});
});
</script>
但我希望显示somepage.htm的整个页面。换句话说,我试图加载一个外部页面,类似于如何在iframe中加载页面。我怎么能做到这一点,而不必在我希望加载的每个页面中添加模态主体? – adam78
答复已更新。 – Shehary