0

我需要编写一个 webpart,其目的是异步获取一些文档并将它们显示到现有页面中。不幸的是,我不得不面对很多限制,到目前为止,我寻找解决方案的努力似乎毫无用处。

1)我不能使用 Microsoft asp.net ajax
2)我必须使用 Jsonp,因为被调用的服务(页面,无论......)在站点的域之外。这不是什么大问题。
3) 我无法更改现有页面代码,因此无法引用外部库,例如 JQuery。
4) 出于同样的原因,我无法在 window.onLoad 事件上调用我的方法,所以这里的问题是:如何确保在触发我的 ajax 调用之前正确加载所有内容?
5)既然同一个webpart的多个实例可以放在同一个页面中,那么各个js函数之间会不会有一些可能的冲突呢?

4

3 回答 3

1
  1. 德欧
  2. 哦#2
  3. jQuery 只是原生 JavaScript 调用的包装器。如果可以的话,让他们放弃这个限制,因为如果你做任何远程复杂的事情,你会因为浏览器兼容性而发疯。
  4. 用于_spBodyOnLoadFunctionNames.push(functionName)完成此操作。
  5. 完全取决于进来的 JS。我们需要更多的澄清。
于 2010-04-13T20:44:06.530 回答
1

您不能只使用服务器端代码(例如,WebClient)调用第 3 方页面吗?您可能需要为此调整站点的信任级别。

对于客户端,我相信您仍然可以将 jQuery 代码“注入”到标记中。 使用 Google 托管 jQuery 的最佳方式,但退回到我在 Google 上的托管库失败

<script type="text/javascript">
if (typeof jQuery == 'undefined')
{
    document.write(unescape("%3Cscript src='/path/to/your/jquery' type='text/javascript'%3E%3C/script%3E"));
}
</script>
于 2010-04-13T20:55:22.820 回答
1

使用页面查看器 Web 部件来显示托管在其他地方(即不在您的 SharePoint 服务器上)的页面怎么样?该页面可以为您检索文档。

于 2010-04-14T03:09:43.080 回答