Pass Querystring parameter from SharePoint to Java Applet webpart

点点圈 提交于 2019-12-08 18:31:26

Sounds like your two webpages run from different domains. In that case, you need to use one of the Cross-Domain Communication tricks to break the walls.

Read this article,

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

This is my favorite approach. To summarize it,

  1. You need to create a simple webpart page on the applet domain which contains some Javascript to pass the URL fragment (after #) to the applet window. Let's call it xd_helper (cross-domain helper).
  2. When you have the URL in the other webpart, you call the xd_helper#querystring.
  3. The xd_helper can send the querystring to the applet because they are on the same domain.

The xd_helper Javascript can be very simple. Look at the one used by 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 uses a more verbose version,

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

SharePoint and the Page Viewer Web Part probably aren't the issue here directly. As you state, the 'walls' that you describe are an HTML IFrame tag. You could focus your search on if the query string is accessible when the applet is within an IFrame.

Alternatively, why don't you use the Content Editor Web Part? That allows you to include any arbitrary HTML directly onto the page. Instead of passing parameters by query string, pass them through on the object tag:

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

You should be able to retrieve with:

String name = getParameter("paramX");

Have you tried reading the querystring using JS then document.writing the embed code for the applet?

Found a link to this blog which covers how to pass parameters to a content editor webpart, which then resolved the issue.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!