将Querystring参数从SharePoint传递到Java Applet webpart

我有一个SharePoint webpart页面,页面中有一个参数Querystring(在URL中),我还有一个Page Viewer webpart(实际上是IFRAME的指定网页),它显示了一个Java applet。

有没有什么办法可以让Java Quetystring中的参数得到Java Applet的接收?

在webpart中执行Java applet的原因是允许将文件拖放到Java applet上,该参数显示文件在SharePoint Document Center中的保存位置。

我很感激任何建议。

干杯

缺口

笔记:

  1. 由于围绕Page Viewer webpart设置了“wall”,因此Java Applet无法直接读取sharepoint页面中的Querystring。
  2. 我已经尝试在加载SharePoint页面时创建一个cookie,然后在加载Java小程序时读取cookie(收到文件后,这不是时间问题),但是它无法访问cookie(不同的域名? )

听起来你的两个网页来自不同的域。 在这种情况下,您需要使用其中一个跨域通信技巧来破坏墙壁。

阅读这篇文章,

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

这是我最喜欢的方法。 总结一下,

  1. 您需要在applet域上创建一个简单的webpart页面,其中包含一些Javascript以将URL片段(在#之后)传递到applet窗口。 我们称之为xd_helper(跨域助手)。
  2. 如果您在其他webpart中有URL,则调用xd_helper #querystring。
  3. xd_helper可以将查询字符串发送到applet,因为它们位于同一个域中。

xd_helper Javascript可以非常简单。 看看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

SharePoint和页面查看器Web部件可能不是直接问题。 如您所述,您描述的“墙”是HTML IFrame标记。 如果applet位于IFrame中,则可以查看是否可以访问查询字符串。

或者,您为什么不使用内容编辑器Web部件? 这允许您将任意HTML直接包含在页面上。 而不是通过查询字符串传递参数,而是在对象标记上传递它们:

     

您应该能够检索:

 String name = getParameter("paramX"); 

您是否尝试使用JS然后document.writing applet的嵌入代码来读取查询字符串?

找到了一个指向此博客的链接,其中介绍了如何将参数传递给内容编辑器webpart,然后解决了该问题。