2013-05-09 137 views
0

父窗口由my.salesforce.com域提供,子窗口(弹出窗口)由另一个域visual.force.com提供。该功能是填充用户在弹出回到父窗口时选择的值。我正在使用window.opener与父窗口进行通信,但在父窗口中收到错误消息“域,协议和端口必须匹配”。将值从子窗口传递到另一个域上的父窗口?

任何想法如何可以避免?并从孩子传递给父母的值?

-Sameer

回答

2

您可能能够解决此破解与srcUp功能。这不是一个官方的API,等等等等,但我似乎记得它被SF使用,特别是在Service Cloud Console周围。

http://boards.developerforce.com/t5/Java-Development/Issue-with-javascript-button-within-Service-Console-need-advice/td-p/290171

http://boards.developerforce.com/t5/Visualforce-Development/Getting-quot-Not-Implemented-quot-Javascript-error-on-SrcUp/td-p/361585

https://salesforce.stackexchange.com/questions/5009/open-a-service-console-primary-tab-from-a-custom-component-module(可惜从techtrekker的评论的链接已失效)。

http://salesforcedevbj.blogspot.com/2012/10/custom-links-and-buttons-in-service.html

对不起,不是一个真正的答案,我从来没有破解这样的东西......但至少你有一些希望的射线,以谷歌现在。还可以尝试在salesforce.stackexchange.com上交叉发布?

+0

感谢您的答复。我不确定如何在我的情况下使用srcUp函数。我在主页组件中添加了一些javascript,该组件将查询标准详细信息页面上的href覆盖到VF查找页面。在标准查找页面中,salesforce已实现了top.window.opener.lookupPick()函数以将记录更新回父窗口。现在因为在我的情况下,父窗口(salesforce.com)和Vf页面(.visual.force.com)由不同的域提供服务,所以我遇到了同源策略的问题。 – Anamadeya 2013-05-09 16:59:57

+1

在这种情况下,如果你正在向侧边栏注入东西,我相信你可以同样注入自己的srcUp /事件侦听器,它可以在父级上定义(实际上在侧边栏中)并从弹出框中执行。 http://stackoverflow.com/questions/15582211/javascript http://stackoverflow.com/questions/13042615/allowing。想到的另一件事是ajax代理,但它看起来很hardcore:http://salesforce.stackexchange.com/questions/9989/how。正如我所说的,我从来没有使用它,我只是知道什么谷歌因为如果我将永远不得不:/ – eyescream 2013-05-09 17:27:26

+0

谢谢eyescream。 postmessage像一个魅力。这帮了很多。现在唯一的事情是确保postMessage在IE8中正常工作。截至目前只在Chrome上进行测试。再次感谢! – Anamadeya 2013-05-09 18:56:19

1

JavaScript不能跨域通信,出于安全原因,因为它打破了同源策略。

不确定这是否可能,但您可能想要查看是否可以对父域上的web服务进行JSON-P调用,该域设置服务器端的值,然后由父级读取页。

你可以阅读有关JSON-P这里:

What is JSONP all about?

0

我遭受了同样的问题。我认为,如果您使用的是销售队伍标准编辑页面(Parent),则 会创建一个与此页面相同的Visualforce编辑页面(假设页面名称为Test)。之后,去你实现这个对象,并编辑'编辑'标准按钮,然后你会得到ovveride选项选择visualforce页面测试。

如果我得到错误的理解你的问题,请让我知道....

+0

Sameer想要覆盖系统中的所有查找窗口(在标准和音频页面上)以打开自定义音频查找而不是标准查找窗口。他可以覆盖编辑页面,但他会失去很多标准页面布局提供的灵活性+他必须为许多对象执行此操作! – eyescream 2013-05-10 08:06:55

+0

没问题我的Skype的ID是Ayub.Ansari35 ...我可以给一个简单的解决方案。以前我曾在查找帮助器项目。 – Bugkiller 2013-05-10 09:05:21

+0

eyescream是对的。我想使用标准页面(编辑,细节,新建),但只想覆盖查找页面,因为我已经将该对象引用为查找其他许多对象。 – Anamadeya 2013-05-10 09:15:59

相关问题