【问题标题】:Wait on loading SharePoint Webparts - timing issue等待加载 SharePoint Webpart - 时间问题
【发布时间】: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) 文件中呈现。

谢谢。

【问题讨论】:

    标签: jquery sharepoint sharepoint-2007 web-parts


    【解决方案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)
    

    【讨论】:

      猜你喜欢
      • 2011-09-28
      • 2011-11-29
      • 2011-04-15
      • 2011-06-02
      • 1970-01-01
      • 2011-12-28
      • 2011-11-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多