爲Omniauth默認精美的作品,如果你是在現有的窗口中打開它,但不知道它是如何工作在彈出的快捷,並且你正在處理的交互很大一部分通過javascript如何使Omniauth使用彈出窗口工作?
3
A
回答
3
好像你可以做這個你自己?
當用戶點擊'通過Facebook登錄' - 使用JS來彈出一個位置爲/ auth/facebook的窗口。 '回調'將在相同的窗口中返回到/ auth/callback。一旦你完成了回調的工作,關閉當前窗口並刷新父項?
15
var newwindow;
function login(provider_url, width, height) {
var screenX = typeof window.screenX != 'undefined' ? window.screenX : window.screenLeft,
screenY = typeof window.screenY != 'undefined' ? window.screenY : window.screenTop,
outerWidth = typeof window.outerWidth != 'undefined' ? window.outerWidth : document.body.clientWidth,
outerHeight = typeof window.outerHeight != 'undefined' ? window.outerHeight : (document.body.clientHeight - 22),
left = parseInt(screenX + ((outerWidth - width)/2), 10),
top = parseInt(screenY + ((outerHeight - height)/2.5), 10),
features = ('width=' + width + ',height=' + height + ',left=' + left + ',top=' + top);
newwindow = window.open(provider_url, 'Login', features);
if (window.focus)
newwindow.focus();
return false;
}
用'/ auth/facebook'或'/ auth/twitter'替換provider_url應該可以工作。
在回調網址,
<script type="text/javascript">
window.opener.location = '<%= @redirect_to %>';
window.close();
</script>
您可以刷新頁面,但是你想與@redirect_to指向您的父窗口應刷新頁面。
相關問題
- 1. 如何在android webview中使用彈出窗口工作
- 2. 如何使窗內彈出窗口?
- 3. 如何使用此JQuery彈出窗口?
- 4. 使用jQuery製作彈出式窗口
- 5. 使用彈出新窗口
- 6. 使用SwingUtilities.invokeLater彈出窗口
- 7. 退出彈出窗口不工作
- 8. 如何使用jQuery中的彈出窗口關閉colorbox窗口
- 9. 如何使用knockout.js顯示警報/彈出窗口/窗口
- 10. 如何使用Extjs彈出窗口彈出一個aspx頁面
- 11. 如何使彈出窗口BG模糊
- 12. 如何使彈出工作
- 13. 如何使用Selenium處理彈出窗口? (「driver.switchTo()窗口(窗口句柄);」沒有一貫的工作)
- 14. GEF可以使用SWT窗口作爲彈出窗口嗎?
- 15. 彈出窗口不工作,而在遠程使用rails
- 16. InputDate彈出窗口不工作IE 9
- 17. 彈出窗口無法正常工作
- 18. CKEditor不工作在彈出式窗口
- 19. autocompletetextview不工作彈出式窗口內
- 20. 彈出窗口工作了高度
- 21. InfiniteScroll不工作的彈出窗口
- 22. JavaFX彈出窗口不工作
- 23. Android彈出窗口onTouchIntercept不工作
- 24. 彈出窗口不能正常工作
- 25. Bootstrap彈出窗口鏈接不工作
- 26. 如何使PySide窗口彈出其他窗口之上
- 27. 如何在彈出窗口中使用「使用條款」
- 28. Java - 如何製作Mac彈出窗口?
- 29. 如何使jqueryUI datepicker顯示在手工彈出窗口中?
- 30. 使用mvc4調用JavaScript彈出窗口
謝謝cory!是/ auth/callback處理各種網絡的通用函數? – 2010-12-06 04:53:32
得到它的工作,謝謝! = D – 2010-12-06 12:07:36