Передать параметр Querystring из SharePoint в веб-часть апплета Java - PullRequest
1 голос
/ 17 сентября 2009

У меня есть страница веб-части SharePoint, с параметром на странице Querystring (в URL-адресе), а также у меня также есть веб-часть Viewer (которая по сути является IFRAME указанной веб-страницей), на которой отображается апплет Java.

Можно ли как-нибудь получить параметр в строке запросов SharePoint для получения Java-апплетом?

Причиной создания апплета Java в веб-части является возможность перетаскивания файла в апплет Java, а параметр показывает, где файл будет сохранен в Центре документов SharePoint.

Буду признателен за любые предложения.

Приветствия

Ник

Примечания:

  1. Строка запроса на странице sharepoint не может быть прочитана Java-апплетом напрямую из-за настройки «стен» вокруг веб-части Page Viewer.
  2. Я пытался создать файл cookie при загрузке страницы SharePoint, затем прочитать файл cookie при загрузке апплета Java (после получения файла, поэтому это не связано с синхронизацией), но он не может получить доступ к файлу cookie ( разные домены?)

Ответы [ 4 ]

2 голосов
/ 23 сентября 2009

Похоже, ваши две веб-страницы работают с разных доменов. В этом случае вам нужно использовать один из приемов междоменной связи, чтобы сломать стены.

Прочитайте эту статью,

http://msdn.microsoft.com/en-us/library/bb735305.aspx

Это мой любимый подход. Подводя итог,

  1. Вам необходимо создать простую страницу веб-части в домене апплета, которая содержит некоторый Javascript для передачи фрагмента URL (после #) в окно апплета. Давайте назовем это xd_helper (междоменный помощник).
  2. Когда у вас есть URL в другой веб-части, вы вызываете xd_helper # querystring.
  3. xd_helper может отправлять строку запроса апплету, поскольку они находятся в одном домене.

Javascript xd_helper может быть очень простым. Посмотрите на тот, который используется в Google Friend Connect,

var u=location.href,h=u.substr(u.indexOf("#")+1).split("&"),t,r;try{t=h[0]===".."?parent.parent:parent.frames[h[0]];r=t.gadgets.rpc.receive}catch(e){}r&&r(h);

Facebook использует более подробную версию,

http://static.ak.facebook.com/js/api_lib/v0.4/XdCommReceiver.js?2

1 голос
/ 22 сентября 2009

SharePoint и веб-часть просмотра страниц, вероятно, не являются проблемой здесь напрямую. Как вы утверждаете, описываемые вами «стены» - это тег HTML IFrame . Вы можете сосредоточиться на поиске, если строка запроса доступна, когда апплет находится внутри IFrame.

В качестве альтернативы, почему бы вам не использовать веб-часть редактора контента? Это позволяет вам включать любой произвольный HTML-код прямо на страницу. Вместо передачи параметров по строке запроса передайте их через тег объекта :

<object 
  classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
  width="200" height="200">
  <param name="code" value="Applet1.class">
  <param name="paramX" value="valueX">
</object>

Вы должны быть в состоянии получить с:

String name = getParameter("paramX");
0 голосов
/ 23 сентября 2009

Найдена ссылка на этот блог , в котором рассказывается, как передавать параметры в веб-часть редактора контента, что затем решило проблему.

0 голосов
/ 18 сентября 2009

Вы пытались прочитать строку запроса, используя JS, а затем document.writing код для встраивания апплета?

...