使用 JavaScript 获取弹出窗口的当前 URL

8
我有一个网页,其中有一个链接会在弹出窗口中打开一个新页面。一切都很好,直到弹出窗口中的页面包含由第三方服务器托管的信用卡支付页面。在完成付款流程后,响应被显示并且URL发生了变化。
我需要获取那个URL。
JavaScript能否做到这点?

1
如果Javascript在URL页面上运行,则可以使用Javascript实现。您说这是第三方页面。如果您正在尝试从用户从您的页面重定向到的第三方页面获取URL,则我认为这是不可能的。 - Nivas
不,JavaScript 在我们的页面上运行,而不是在第三方页面上运行。 - Jitu
2个回答

21
页面的URL可以通过window对象的location属性访问。如果您正在访问与您相同子域的站点,则可以通过此方式获取地址。
popupWindow.location.href

然而,如果弹出窗口来自第三方,则适用同源策略,您无法检查弹出窗口的location.href。要绕过同源策略的唯一方法是需要第三方的合作。

1
是的,伙计,我尝试过了,但正如你所说,第三方不允许检查位置属性。 - Jitu

-3

Google是你的好朋友 ;D

 var newURL = window.location.protocol + "://" + window.location.host + "/" 
              + window.location.pathname;

4
针对这个问题,简单使用window.location.href即可。如果您检查过,就会发现您无法检查弹出的窗口的window.location,尤其是第三方网站。 - hugomg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接