是否有人使用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宽度)。
这是我正在做的超级简单代码:
主页:
<%@ 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中使用它。
答案 0 :(得分:0)
解决!!!谢谢JFK。
是的,问题是浏览器(在这种情况下是IE 10)在怪癖模式下运行,因为没有DOCTYPE存在。将DOCTYPE添加到母版页后,fancybox正常工作!
<!DOCTYPE html>
附注:将DOCTYPE添加到母版页实际上会破坏MOSS 2007品牌的开箱即用。但是我的情况还可以,因为我们将使用已经存在DOCTYPE的自定义品牌。我很幸运。再次感谢您的帮助!