0

有没有人使用 jQuery 1.9.1 获得最新版本的 fancybox 2.1.4 ( http://fancyapps.com/fancybox/ ) 以与 Microsoft Office SharePoint Server (MOSS) 2007 一起使用?

似乎 MOSS 2007 的开箱即用 css/html 干扰了 fancybox/jQuery 所做的大小和定位计算。最终结果是一个小花式框(130 像素宽)。

这是问题的屏幕 截图:问题的屏幕截图 http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-54-79-Images/4152 .fancyboxIssueInMOSS2007.png

这是我正在做的超级简单的代码:

主页:

<%@ Page language="C#" MasterPageFile="~masterurl/default.master" Inherits="Microsoft.SharePoint.WebPartPages.WebPartPage,Microsoft.SharePoint,Version=12.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c" %>
<asp:Content ContentPlaceHolderId="PlaceHolderAdditionalPageHead" runat="server">
    <link type="text/css" rel="stylesheet" href="jquery.fancybox-2.1.4_Styles.css" />
    <script type="text/javascript" src="jquery-1.9.1.js"></script>
    <script type="text/javascript" src="jquery.fancybox-2.1.4.js"></script>
</asp:Content>
<asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server">
    Hello from the test page!
    <a id="fancyBox1" style="display: none" data-fancybox-type="iframe" href="iframeContents.aspx"></a>
    <script type="text/javascript">
        $(document).ready(function () {
            // show fancyBox
            $('#fancyBox1').fancybox().trigger('click');
        });
    </script>
</asp:Content>

框架页面:

<%@ Page language="C#" MasterPageFile="~masterurl/default.master" Inherits="Microsoft.SharePoint.WebPartPages.WebPartPage,Microsoft.SharePoint,Version=12.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c" %>
<asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server">
    Hello from the iframeContents!
</asp:Content>

感谢您的任何帮助!

PS-顺便说一句,fancybox 在 SharePoint 2010 中运行良好。但是,我必须让它在 MOSS 2007 中运行。

4

1 回答 1

0

解决了!!!谢谢肯尼迪。

是的,问题是浏览器(在这种情况下为 IE 10)在怪癖模式下运行,因为没有 DOCTYPE 存在。在我将 DOCTYPE 添加到母版页后,fancybox 就可以工作了!

<!DOCTYPE html>

旁注:将 DOCTYPE 添加到母版页实际上会破坏开箱即用的 MOSS 2007 品牌。但在我的情况下没关系,因为我们将使用已经存在 DOCTYPE 的自定义品牌。我很幸运有那个。再次感谢您的帮助!

于 2013-05-21T19:50:59.203 回答