2013-05-02 18 views
1

忒connectToIntuit按鈕不流通控制權交還給我們已經實施忒連接按鈕的功能按下面的鏈接父

https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0025_Intuit_Anywhere/0020_Connect/0010_From_Within_Your_App/Add_the_Connect_Button

它的偉大工程一直到結束,但而不是返回控制到父頁面,它將在彈出窗口中打開應用程序。我真的不知道我在這裏錯過了什麼。以下是我們針對此功能的單元測試頁面:

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ipp=""> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> 
<meta http-equiv="Cache-control" content="no-cache"/> 
<title>Intuit Test Page</title> 
<script src="https://js.appcenter.intuit.com/Content/IA/intuit.ipp.anywhere.js" type="text/javascript"> 
    </script> 
<script type="text/javascript"> 
    intuit.ipp.anywhere.setup({ 
     menuProxy: 'myserver.com/intuit/proxy', 
     grantUrl: 'myserver.com/intuit/connect' 
    }); 
    </script></head><body> 
    <ipp:connectToIntuit></ipp:connectToIntuit> 
    </body> 
    </html> 

代碼與服務器名稱相同。我真的很感激你能否提供一些意見呢?

回答

5

Intuit Anywhere的OAuth進程始終在彈出窗口中打開。它是專門爲此設計的。

當他們點擊按鈕時,彈出窗口會打開,他們將通過OAuth連接過程並最終轉發回您的應用程序。然後,應用程序應該關閉彈出窗口,並刷新應用程序的父頁面(以便頁面上顯示藍點菜單以顯示它們已連接)。

+0

是的,你負責編寫邏輯關閉彈出窗口,並刷新父窗口。 – 2013-05-02 15:00:22

+0

如何添加邏輯來刷新父窗口? – 2015-10-09 16:15:29

+0

簡單的Javascript。噸StackOverflow帖子關於這個已經:http://stackoverflow.com/questions/2301278/refresh-parent-window-when-closing-child-window – 2015-10-09 17:20:07

1

我發現了一個非常簡單的解決方案來解決這個問題。

在你的驗證動作控制器,你可以指定這個:

render :text => '<script type="text/javascript">window.opener.location.reload(true);window.close();</script>' 

這將導致該彈出窗口關閉,呼叫窗口自動刷新。

+0

這是在指定的Rails視圖文件中完成的。仍然非常有幫助! – SkyWriter 2017-01-20 12:46:23