fancybox与MOSS 2007的兼容性?

时间:2013-05-21 13:47:00

标签: sharepoint fancybox sharepoint-2007 fancybox-2

是否有人使用jQuery 1.9.1获得当前版本的fancybox 2.1.4(http://fancyapps.com/fancybox/)以使用Microsoft Office SharePoint Server(MOSS)2007?

似乎MOSS 2007的开箱即用css / html干扰了fancybox / jQuery的大小和定位计算。最终的结果是一个微小的fancybox(130px宽度)。

以下是该问题的屏幕截图: screenshot of issue 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>

IFRAME PAGE:

<%@ 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中使用它。

1 个答案:

答案 0 :(得分:0)

解决!!!谢谢JFK。

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

<!DOCTYPE html>

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