SharePoint 2010 Pop-Up Dialogs SharePoint 2010 弹出对话框
内置的功能同意你从站点不论什么地方抽取内容,然后显示在模态对话框中。出如今页面的前端。当它涉及到现代Web技术的时候,这就是非常标准的东东啦,可是易用性是真正使SharePoint对话框变得如此引人的主要原因。本文中,我们将探讨SharePoint 2010 平台带来的对话框功能。而且我们会发现自己定义内容的新方法。来给你的SharePoint门户带来独特的新奇外观体验。
SharePoint 2010 中的对话框
工作原理
SharePoint 2010 在站点模板页和系统母版页之间分离了你的母版页授权。
基本上。你的站点模板页应用到页面、列表和库中。而系统母版页应用到其它地方(设置、权限、管理及对话框等)。当你在SharePoint 2010 中调用弹出对话框时。内容被请求并使用系统母版页显示。假设你想開始自己定义你的对话框在SharePoint 2010中出现的方式,首先你要设置自己定义的母版页格式也作为系统母版页起作用。
系统母版页
当对话框显示时,不论什么具有s4-notdlg CSS类的东东都会被自己主动隐藏(缩减)掉。
使用样式
幸运的是,不论什么时候你的母版页被用来显示对话框内容,html元素获得特殊的CSS类名ms-dialog。你能够使用它覆盖不论什么之前设置的样式,使得它在普通和对话框视图中正确显示。比如,你可能有一个div元素(ID为wrapper)在你的设计中。在附加的CSS文件里,你能够给这个元素加入样式(当它出如今普通和对话框时图中时)
#wrapper { 960px; margin: auto; } html.ms-dialog #wrapper { 100%; }上面这个样例中。wraper元素将切换为自己主动宽度。出如今SharePoint 2010 对话框中。
你可能不得不使用这个技术处理列、背景色以及其它出如今对话框中的设计元素。
使用这个功能
既然你的母版页最优化为了对话框使用,如今是时候从你的SharePoint站点中抽取一些内容出来了。创建一个Popup链接很easy。在不论什么页面或者内容编辑器WebPart中,创建一个链接请求一个对话框页面:<a href="javascript:OpenPopUpPage('/path/to/content.aspx');">Show Me the Pop-Up!</a>你能够使用OpenPopUpPage函数以对话框模式查看不论什么内容。也有一个更加灵活的函数OpenWebPage,同意你指定对话框宽度和高度。
使用这些函数配合自己定义系统母版页,你在SharePoint中对话框显示的东东就变得限制越来越来越少。
渐进增强
我非常关心可訪问性,并且我真的不喜欢有人要求我在链接元素中加入javascript:。没有JavaScript的用户不能訪问这个链接。
更重要的是,像Google或Bing的搜索引擎不能跟踪你网站内的内容关联。这可能是个非常大的问题。并且因此。我也不会推荐你在SharePoint 网站中对话框里使用以上的方法。
通过创建简单的HTML链接,你能够保证每一个人(包含搜索引擎)能够辨认和使用你网站中的链接。对于其它用户。如启用JavaScript的用户。你能够使用弹出对话框来更快的显示内容,增强他们的体验。
SharePoint和弹出框整合
加入这个功能到你的SharePoint 2010 网站中:
(function($){ $.fn.sharePop = function(){ if(typeof OpenPopUpPage == 'function'){ return this.each(function(i){ if($(this).attr('href') != null){ $(this).click(function(e){ e.preventDefault(); OpenPopUpPage($(this).attr('href')); }); } }); } else{ return false; } }; })(jQuery);3. 加入一个独特的CSS类名到要显示对话框视图的链接:
<a href="/path/to/content.aspx" class="dialog-pop">View Content</a>4. 执行脚本(加入到附加的JavaScript文件里):
$(document).ready(function(){ $('.dialog-pop').sharePop(); });我的脚本将覆盖这些链接的默认功能,强制它们显示SharePoint 2010 对话框视图。那些没有使用JavaScript的用户也能够訪问到内容(使用普通视图)。
对话框样式
最后一个要考虑的事情就是对话框的样式了。对话框HTML给你了很多CSS类,同意你全然自己定义对话框窗体的外观,而且甚至是后面阴影区域的外观。以下图片显示了SharePoint对话框的HTML。而且我也高光了一些重要的CSS类,你会用到它们改变窗体的外观的。
.ms-dlgOverlay { background-color: #333; } .ms-dlgContent { border: 0; } .ms-dlgBorder { border: 1px solid #333; } .ms-dlgTitle { background-color: #333; } .ms-dlgTitleText { display: block; font-weight: bold; font-size: 13px; padding: 7px; }加入CSS到附加的CSS样式表后,我们获得一个全然自己定义的对话框外观。伴随着自己定义内容出如今对话框内部。
假设你能做一次,你将发现这些自己定义对话框是加入到你SharePoint 2010 设计中的一个简单、高速、惊人的工具。