我正在使用colorbox在我的项目中加载模态页面。 当我单击打开一个模态时,页面需要一段时间才能加载,并且窗口在一段时间内“锁定”。 我做了一个简单的页面来代表我的问题。 访问权限:http://testes.tiagocrizanto.com/ 单击Index2时,页面正常加载,但是,当您单击Modal链接时,模态会花费一些时间来加载(请注意加载图像锁定一段时间)。 如果您打开Chrome DevTools并选择网络选项卡,您将看到加载到模态窗口中的外部js文件需要一些时间来加载。 在我的示例中,窗口需要一段时间才能加载,但是,如果我尝试加载3个或更多js文件,则模态窗口可能需要10秒或更长时间来加载。
Index2页面的代码和加载模式的脚本:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Index2
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<script type="text/javascript">
$(document).ready(function () {
$('.cbox').colorbox({
innerWidth: 833,
innerHeight: 500,
scrolling: true
});
});
</script>
<a href="/Home/Modal" class="cbox">Modal</a>
</asp:Content>
模态代码:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Modal.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<script type="text/javascript" src="<%= ResolveUrl("~/Scripts/ScriptFile.js") %>"></script>
<h2>Modal</h2>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HeaderContent" runat="server">
</asp:Content>
为什么会发生这种想法?
答案 0 :(得分:0)
在loooonnngggg搜索后,我找到了解决方案: optimizing colorbox and adding extra jquery
ColorBox使用jQuery的load()方法进行ajax处理,所以你只需要将所需的选择器添加到链接的href中。
$(document).ready(function () {
$('.cbox').colorbox({
href: function () {
return $(this).attr('href');
},
innerWidth: 833,
innerHeight: 500,
scrolling: true
});
});
链接按钮:
<%: Html.ActionLink("Add", "Create", "Agenda", new { @class = "btn btn-mini pull-left margin-10 no-margin-left border-radius-3 cbox" })%>