2010-10-13 62 views
0

我目前正在建立一個網站,提取YouTube視頻和flickr圖片,並讓用戶在網站上對其進行評論。雖然擁有自己的評論系統,但該網站還可以選擇使用youtube/flickr進行登錄,以便使用其用戶名對youtube或flickr進行評論。

我這樣做是通過打開一個彈出窗口(真正的彈出窗口,不是jquery類型的彈出窗口),在他們登錄後將彈出窗口關閉並將其標記存儲在PHP $ _SESSION中時關閉彈出窗口。問題是,我使用jQuery進行了很多工作,我想讓他們在訪問者之間進行評論,然後在沒有刷新的情況下對Flickr/YouTube發表評論。

基本上,我需要一種方法來檢測彈出何時關閉,以便我可以向PHP文件發出請求,告訴我用戶是否有保存在$ _SESSION中的令牌並隱藏評論表單中的名稱和電子郵件框,因爲它們只需要輸入框。

另一種方式是觸發一個setInterval(),當他們打開彈出窗口並每隔2/3秒檢查一次$ _SESSION時,但我認爲這不是最好的方法。理想情況下,我希望當用戶關閉彈出窗口時能夠正常工作。

更多細節: 我使用http://swip.codylindley.com/popupWindowDemo.html顯示彈出窗口 兩種功能的回調腳本執行存儲在$ _SESSION 用戶令牌後self.close()可以記錄與兩個Flickr的和YouTube(但我不認爲這個問題了)。 作爲訪問者和Flickr/Youtube用戶的評論之間的區別在於,您有三個字段(姓名,電子郵件,消息)作爲訪問者,另外一個(消息) 我在頁面加載時進行檢查,因此如果用戶刷新在這一點上,一切都很好,但是如果他不需要這樣做,或者至少它會自動刷新的話,我會喜歡它。

最後,我很樂意與其他選項一起使用,只要用戶不必離開頁面,刷新自己以在訪問者和登錄用戶之間進行交換。在頁面中使用jQuery,如果它是基於jQuery的解決方案,甚至更好。

對不起,很長的文章,找不到一個方法,使其更短。

謝謝你們的幫助!

編輯

的setInterval()的調用PHP腳本來檢查$ _SESSION變量的工作就像一個魅力,一點都沒有那麼糟糕性能或用戶體驗,因爲我期望的功能。不過,如果任何人都能想到更好的解決方案,我已經準備好接受它。

謝謝!

+1

我脫脂您的評論,但一個使用Ajax檢查設置的Cookie是可能的和可以做到的。我在使用間隔之前完成了它。 – Glycerine 2010-10-13 16:28:32

+0

我在想這是可能的,但我更喜歡當用戶關閉彈出窗口時,而不是不斷。當用戶期望它時,立即更改表單是非常重要的,否則它可能會被誤解爲錯誤的行爲,我猜... – Claudiu 2010-10-13 16:34:38

+0

@Glycerine我嘗試了setInterval方式,就像一個魅力。感謝您確認我的理論,我想我只是懶於在提問之前做一個測試。 – Claudiu 2010-10-13 17:01:16

回答

0

你可以放置在彈出的窗口中的HTML代碼:

<body onunload="window.opener.location.href = 'http://check.session.com/path/to/file.php'">