2013-05-09 95 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