等待加载 SharePoint Webpart - 时间问题
Posted
技术标签:
【中文标题】等待加载 SharePoint Webpart - 时间问题【英文标题】:Wait on loading SharePoint Webparts - timing issue 【发布时间】:2011-06-27 08:06:51 【问题描述】:在同一个 SharePoint 2007 网站中加载几个 Web 部件时,我遇到了时间问题。
目前我的网站上有几个 webpart,全部垂直对齐。我希望最后加载最底部的 webpart,因为它有一个组件将被渲染以执行 jQuery .offset().top
(在执行代码时获取组件的左上角位置)。目前,每次我重新加载页面时,组件都会出现在不正确的位置。只有当它上面没有其他 webpart 时才会出现在正确的位置。
例如:
WebPartWithComponent 页面上的第一个:
WebPartWithComponent <-- component rendered here correctly.
WebPart1
WebPart2
WebPart3
页面上WebPartWithComoonent前面的其他webpart:
Webpart1
Webpart2 <-- component rendered here instead.
WebpartWithComponent <-- this is where the component should be rendered
Webpart4
是否有任何方法可以确保带有组件的 web 部件最后加载,或者在其他 web 部件完成加载时开始加载,或者在代码中的特定点等待直到其他 web 部件完成加载?
Webparts 在 jQuery (js) 文件中呈现。
谢谢。
【问题讨论】:
【参考方案1】:您能否在上一个 Web 部件中使用 jQuery 就绪功能?
http://api.jquery.com/ready/
$(document).ready(function()
//do your stuff
);
或者,如果您有,请在您的 Web 部件中设置某种跟踪数组:
if(typeof(gWebParts)=="undefined")
gWebParts = new Array()
gWebParts[gWebParts.length] = someobject
然后当它们加载后,设置一些变量
gWebParts[i].loaded = true
然后在您的最终 Web 部件中,设置一个计时器
setInterval(function()
if(gWebParts all loaded)
clearInterval()
//do your stuff
, 250)
【讨论】:
以上是关于等待加载 SharePoint Webpart - 时间问题的主要内容,如果未能解决你的问题,请参考以下文章
Sharepoint 2010 在 jquery/javascript 中捕获 webpart 刷新
为 SharePoint 2010 Rss 源 WebPart 编辑 XSL
SharePoint 2013 WebPart 管理工具分享[开源]