Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript打开窗口时,是否可以侦听url中的更改?_Javascript - Fatal编程技术网

使用javascript打开窗口时,是否可以侦听url中的更改?

使用javascript打开窗口时,是否可以侦听url中的更改?,javascript,Javascript,我正在编写一些代码,需要通过oauth2服务对用户进行身份验证;它要求用户按下一个按钮,在那里他们可以授权或拒绝我的登录请求,但我希望用户不会被不必要地重定向,因此我需要监听URL中的更改。我知道,出于安全方面的原因,如果新窗口不在我的域中,我无法知道它的URL,但当“授权”按钮将用户重定向回我的应用程序中的URL时,是否可以至少捕获该事件,复制URL,然后关闭新创建的窗口 编辑:我想在我的应用程序上只使用一个来向用户显示auth页面,但是oauth提供者端的域安全策略不允许这样做,而且我也无法

我正在编写一些代码,需要通过oauth2服务对用户进行身份验证;它要求用户按下一个按钮,在那里他们可以授权或拒绝我的登录请求,但我希望用户不会被不必要地重定向,因此我需要监听URL中的更改。我知道,出于安全方面的原因,如果新窗口不在我的域中,我无法知道它的URL,但当“授权”按钮将用户重定向回我的应用程序中的URL时,是否可以至少捕获该事件,复制URL,然后关闭新创建的窗口


编辑:我想在我的应用程序上只使用一个来向用户显示auth页面,但是oauth提供者端的域安全策略不允许这样做,而且我也无法控制它

嗯,我可以想出两种方法:a)在父窗口和子窗口中调用ajax,这会告诉服务器登录的状态-如果检测到登录,则父窗口将关闭子窗口。b) 使两个窗口与window.postMessage通信,以“cath”所需的事件和url。