javascript - 使用 window.open 后从回调重定向到父 URL
问题描述
我正在尝试将回调 URL 重定向回调用 window.open 的父窗口。当前,回调 URL 正在从父级生成的子窗口内打开。
父窗口 => 打开子窗口进行身份验证 => 用户进行身份验证并重定向到此子窗口。如何重定向到父窗口?
这是对 window.open 的调用
newwindow = window.open(response.data.auth_url,'Etsy','height=800,width=1000');
if (window.focus) {
newwindow.focus()
}
知道如何做到这一点吗?
解决方案
如果其他人遇到此问题,这是我提出的解决方案。
在我的 angularJS 控制器文件中,我从回调 URL 中检查我需要的两条信息:
if ($state.params.oauth_token && $state.params.oauth_verifier) {
/* This closes the child window */
$window.close();
var params = {
oauth_token: $state.params.oauth_token,
oauth_verifier: $state.params.oauth_verifier
};
/* process the info ... */
}
我还轮询查看何时创建回调 URL 并重定向父窗口
win = window.open(response.data.auth_url,'Etsy','height=800,width=1000');
var pollTimer = window.setInterval(function() {
try {
if (win.document.URL.indexOf(response.data.callback_url) != -1) {
window.clearInterval(pollTimer);
$state.go("etsy.connected");
}
} catch(e) {
// Error Handling
}
}, 500);
推荐阅读
- r - 使用 r 在标尺旁边绘制图像
- wordpress - Woocommerce 库存数量显示不再起作用
- visual-studio-2017 - 使用固定选项卡时 SQL Server Management Studio 17.9 崩溃
- deployment - 站点发布错误(路由表中没有与提供的值匹配的路由。)
- wpf - 在 WPF 中使 Button 内的内容响应式
- javascript - 循环遍历数组中的对象并求和
- mysql - 如果记录尚不存在,则插入记录的有效方法,如果确实存在,则获取ID并将其用作外键?
- python - 从 python 调用外部命令,既不使用 os.system 也不使用子进程
- xamarin - 如何跳过一些堆栈以使后退按钮转到主页?
- spring - 使用spring cloud数据流,尝试部署一个简单的工作,但是卡住了,部署没有完成