2012-02-07 46 views
0

我花了兩天時間爲其他域開發一個網絡小部件,但是我沒有取得任何成功。我發現一個tutorial開發一個相當有用的小部件,但我的問題是:爲其他域建立一個jQuery網絡小部件

如果用戶單擊我的小部件按鈕,那麼小部件將檢查登錄狀態。如果用戶沒有登錄,那麼會彈出一個窗口並詢問用戶名和密碼。如果用戶成功登錄到窗口小部件源,則父窗口將自動刷新並顯示窗口小部件按鈕位置的數據。

我已經在jQuery中創建了小部件來打開彈出窗口,但無法刷新彈出窗口的父窗口。

+0

DOM元素的解決方案您是否嘗試過使用jQuery.ui.dialog()而不是彈出窗口,或者你是否已經設置了彈出窗口? – moranjk 2012-02-07 12:22:49

+1

有什麼問題? 「我已經在jQuery中創建了這個小部件來打開彈出窗口,但無法刷新彈出窗口的父窗口。」,你只是試圖刷新父窗口嗎?什麼是工作?你能向我們展示一個例子嗎? – Richard 2012-02-07 12:27:26

+0

@Richard:我有一個搜索小工具放在http://www.testmemorial.in/widget/example.html,這個搜索小工具來自不同的域http://www.darsean.com:8083.當用戶點擊搜索按鈕,小部件將檢查身份驗證,如果用戶未登錄http://www.darsean.com:8083,小部件將打開一個彈出窗口,此彈出窗口包含登錄框。這些步驟正在工作。但如果用戶成功通過驗證,我需要在http://www.testmemorial.in/widget/example.html上顯示他們的信息,該信息存儲在http://www.darsean.com:8083。 – Realdheeraj 2012-02-08 06:07:58

回答

0

我想你將不得不重新加載父窗口,以正確顯示數據。

這是我在我的一個項目使用的代碼,並在所有測試的瀏覽器的工作原理:

<script>window.opener.location.reload(true);self.close()</script> 

或者你可以看看,你更新的window.opener

+0

我們不能使用window.opener.location.reload(true);因爲彈出的窗口屬於不同的域。它會給權限拒絕錯誤 – Realdheeraj 2012-02-08 09:19:25

+0

啊是的,當然。但是你可以使用window.open而不是鏈接到一個頁面,但只發送HTML(http://www.w3schools.com/js/tryit.asp?filename=try_win_focus)。這個HTML可以做另一個JS請求,像你的另一個解決方案'document.write()'是關閉的:-) – Richard 2012-02-08 10:32:52