0

一部のドキュメントを非同期的に取得して既存のページに表示することを目的とした Web パーツをコーディングする必要があります。残念ながら、私は多くの制限に直面しなければならず、解決策を見つけるための私の苦労は今のところ役に立たないようです.

1) Microsoft asp.net ajax を使用できません
。2) 呼び出されたサービス (ページなど) がサイトのドメイン外にあるため、Jsonp を使用する必要があります。それは大きな問題ではありません。
3) 既存のページ コードを変更する可能性がないため、JQuery などの外部ライブラリを参照できません。
4) 同じ理由で、window.onLoad イベントでメソッドを呼び出す可能性がないため、ここで問題は、ajax 呼び出しをトリガーする前にすべてが正しくロードされていることを確認するにはどうすればよいかということです。
5) 同じ Web パーツの複数のインスタンスを同じページに配置できるため、さまざまな js 関数間で競合が発生する可能性はありますか?

4

3 に答える 3

1
  1. ドー
  2. D'oh#2
  3. jQueryは、ネイティブJavaScript呼び出しの単なるラッパーです。可能であれば、この制限を免除するように依頼してください。リモートで複雑なことをしていると、ブラウザの互換性に頭がおかしくなるからです。
  4. _spBodyOnLoadFunctionNames.push(functionName)これを達成するために使用します。
  5. 入ってくるJSに完全に依存します。もっと明確にする必要があります。
于 2010-04-13T20:44:06.530 に答える
1

サーバー側のコード(WebClientなど)を使用してサードパーティのページを呼び出すことはできませんか?このために、サイトの信頼レベルを調整する必要がある場合があります。

クライアント側の場合でも、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 に答える