首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >普通页面上的window.close() -或:如何处理已经打开的页面中的电子邮件链接

普通页面上的window.close() -或:如何处理已经打开的页面中的电子邮件链接
EN

Stack Overflow用户
提问于 2012-08-23 13:57:51
回答 1查看 155关注 0票数 2

为了在已经打开的web应用程序中处理特殊的URL,我使用了以下方法:

  1. 用户在电子邮件中接收一个特殊的URL (警报通知)
  2. 该URL使用临时设置会话cookie的JavaScript代码打开一个小助手网页(H)
  3. 主web应用程序(M)已经在另一个选项卡/窗口中打开,它能够识别这一点,并在删除 cookie之后处理请求
  4. 助手网页(H)认为这是一个成功,现在是无用的,应该关闭。

除了保持打开的助手窗口(H)之外,所有这些都可以正常工作。当然,有一个小文本说:“请现在关闭这个窗口”,但如果它可以自动做到这一点,这将是完美的。

window.close()会导致IE中的确认对话框,而FireFox只会忽略该命令。我理解这是因为没有使用window.open()打开窗口。

同样,在主窗口中调用window.focus()也不会做任何事情。

有没有人知道怎么做到这一点?至少,在不关闭助手窗口的情况下自动对焦主窗口会比什么都没有好。

我也是开放的其他解决方案,处理电子邮件链接,在一个已经开放的web应用程序.:)

注意,web应用程序(当然还有助手页面)位于HTTPS服务器上。

EN

回答 1

Stack Overflow用户

发布于 2012-08-23 14:04:09

在某些浏览器中,只有通过javascript打开窗口(出于安全目的),才能通过javascript悄悄关闭窗口。

这段代码是一种绕过这种安全措施的黑客:

代码语言:javascript
复制
// open a new window, replacing the current one
window.open('', '_self', '');
// close the current window, which was now technically opened via javascript
window.close();

使用风险自负。这些措施是为了防止您对页面的访问者做恼人/恶意的事情。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12093355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档