私は現在、SharePointを使用して次のような他のいくつかの内部サーバーからコンテンツを集約する大規模なイントラネットマッシュアップに取り組んでいます。
- moss.myapp.internalserver.local-MOSSポータル
- ssrs.myapp.internalserver.local-SQLServerレポートサービスレポート
- app.myapp.internalserver.local-カスタムASP.NETMVCフォーム
mossポータルは、jQueryダイアログ(正確にはボックス)でiframeを使用してMVCフォームを呼び出します。次に、jQueryダイアログを閉じるなど、さまざまな目的でjavascriptを使用してmossページにコールバックします。
これは明らかにブラウザの同一生成元ポリシーに失敗します(したがって、JavaScriptが異なるソースからフレーム/ウィンドウを呼び出すことを許可しません)ので、document.domain="myapp.internalserver.local"を設定することでこれを回避しましたMOSSマスターページとアプリフォームページ。これにより、クロスドメインスクリプトをモスとアプリのコンテンツ間で正常に実行できます。
したがって、レポートビューアのWebパーツ(SharePointのデフォルトのパーツに加えて、ASP.NETレポートビューアコンポーネントのみを使用する独自のサードパーティ製のパーツ)を使用してSSRSレポートをミックスに追加するまでは、これはうまく機能しています。
レポートビューアには、htmlをページに返すハンドラが必要なようです。ただし、結果のレポートビューアのコンテンツは、一部のiframeにレンダリングおよびスクリプト化されているように見えますが、それらのiframeにdocument.domainを設定する方法がないため、スクリプトは失敗します。
せいぜい、これはステータスバーに小さな黄色のjavascriptエラーアイコンが表示されることを意味します。さらに悪いことに、動的レンダリングが使用されている場合、「レンダリングレポート」プログレスホイールはアニメーション化するだけで、レポートを配信しません。
誰かがこれを以前に見たことがありますか?もしそうなら、どのようにそれを回避しましたか?
ありがとう、トニー