Вставьте измененную веб-часть в существующий сайт MOSS - PullRequest
0 голосов
/ 13 апреля 2010

Мне нужно закодировать веб-часть, целью которой является асинхронная загрузка некоторых документов и отображение их на существующей странице. К сожалению, мне приходится сталкиваться с многочисленными отказами, и моя борьба за поиск решения до сих пор кажется бесполезной.

1) Я не могу использовать Microsoft asp.net ajax
2) Я должен использовать Jsonp, потому что вызываемая служба (страница, что угодно ...) находится за пределами домена сайта. Это не большая проблема.
3) У меня нет возможности изменить существующий код страницы, поэтому я не могу ссылаться на внешнюю библиотеку, такую ​​как JQuery.
4) По той же причине у меня нет возможности вызывать мои методы для события window.onLoad, поэтому здесь возникает вопрос: как я могу быть уверен, что все загружено правильно, прежде чем инициировать мой вызов ajax?
5) Поскольку несколько экземпляров одной и той же веб-части могут быть помещены на одну и ту же страницу, могут ли быть некоторые конфликты между различными функциями js?

Ответы [ 3 ]

1 голос
/ 14 апреля 2010

Разве вы не можете просто вызвать стороннюю страницу, используя код на стороне сервера (например, 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>
1 голос
/ 14 апреля 2010

Как насчет использования веб-части средства просмотра страниц для отображения страницы, размещенной в другом месте (т.е. не на вашем сервере SharePoint)? Эта страница может получить документы для вас.

1 голос
/ 14 апреля 2010
  1. D'о
  2. Д'Ох # 2
  3. jQuery - это просто оболочка для собственных вызовов JavaScript. Если вы можете, заставьте их отказаться от этого ограничения, потому что если вы делаете что-то сложное удаленно, вы сходите с ума из-за совместимости браузера.
  4. Используйте _spBodyOnLoadFunctionNames.push(functionName) для этого.
  5. Полностью зависит от прихода JS. Нам нужно больше разъяснений.
...