为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. 如何使弹出工作
- 4. 如何使弹出窗口BG模糊
- 5. 如何使用Selenium处理弹出窗口? (“driver.switchTo()窗口(窗口句柄);”没有一贯的工作)
- 6. 弹出窗口不能正常工作
- 7. 弹出窗口无法正常工作
- 8. JavaFX弹出窗口不工作
- 9. Bootstrap弹出窗口链接不工作
- 10. 如何使PySide窗口弹出其他窗口之上
- 11. 如何在弹出窗口中使用“使用条款”
- 12. Java - 如何制作Mac弹出窗口?
- 13. 如何使jqueryUI datepicker显示在手工弹出窗口中?
- 14. 使matplotlib绘图窗口作为活动窗口弹出
- 15. 如何显示其他弹出窗口上的弹出窗口?
- 16. 如何打开弹出窗口并关闭弹出窗口?
- 17. 如何在弹出窗口中打开弹出窗口?
- 18. 如何使用xamarin.forms在弹出窗口中创建窗体?
- 19. 如何在关闭该弹出窗口的弹出窗口上制作按钮
- 20. 使用PHP的jquery弹出窗口
- 21. 使用CSS定位弹出窗口
- 22. gridview列弹出窗口使用jquery
- 23. 使用JQuery预览弹出窗口
- 24. 使用Fancybox显示弹出窗口div
- 25. 使用javascript打开弹出窗口
- 26. 使用Selenium弹出窗口的问题
- 27. 使用javascript关闭弹出窗口
- 28. 当使用IO.popen等弹出DOS窗口
- 29. 使用css/bootstrap动态弹出窗口
- 30. 使用Javascript/jQuery的弹出窗口
谢谢cory!是/ auth/callback处理各种网络的通用函数? – 2010-12-06 04:53:32
得到它的工作,谢谢! = D – 2010-12-06 12:07:36