在 Javascript 中访问远程窗口的 url
Posted
技术标签:
【中文标题】在 Javascript 中访问远程窗口的 url【英文标题】:Accessing the url of a remote window in Javascript 【发布时间】:2012-04-10 08:41:03 【问题描述】:我使用 window.open 方法打开一个新的 Google 文档演示窗口:
NewWindow = window.open("https://docs.google.com/presentation/d/1Qs9......");
我想检索该 url 以知道它已更改(演示文稿的每张幻灯片都有不同的 url,我想查看用户是否更改了幻灯片),使用 NewWindow.location.href
我得到的只是一个未定义的值。我可以更改 href
NewWindow.location.href ="http://www.google.com"; //works
我了解到,如果您不在同一个域中,则不允许您访问远程窗口上的 href 或任何其他属性。
就没有其他办法了吗?
提前致谢。
【问题讨论】:
不,没有使用正常的网页。在使用 HTA 或带有签名脚本的窗口上,您可以访问其他窗口。 【参考方案1】:有一种解决方法,但在 javascript 中没有。
标准解决方案是使用隐藏在您自己域的某个 URL 下运行的代理服务器将文档映射到您自己的域。
这样,您就可以通过https://your.doma.in/google/presentation/...
访问文档
警告:如果您在配置代理时出错,破解者可能会滥用它来做一些令人讨厌的事情(例如试图破解 Google 或发送垃圾邮件;警察会来敲您的门)。
【讨论】:
以上是关于在 Javascript 中访问远程窗口的 url的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Chrome 插件中访问任意网页中的 JavaScript 变量
高级篇javascript静态页面传值的三种方法 url方法,取值方便,可跨域; cookie方法,同源访问; window.open方法,指向父窗口
高级篇javascript静态页面传值的三种方法 url方法,取值方便,可跨域; cookie方法,同源访问; window.open方法,指向父窗口