我正在开发一个网站,用户可以在其生效之前更改他们必须确认的设置。
确认是通过我通过电子邮件发送的链接完成的。在网站的HTML中,我使用这个小代码片段:
<script type="text/javascript">window.name="mysite";</script>
在我使用的HTML电子邮件中
<a href="..." target="mysite">Click me</a>
但Chrome始终打开新的标签页,而不是全部打开它们。
这是甚么可能的,还是因为某些原因而被禁止?
解决方法
这是一个非常有趣的想法。我喜欢。唉,看起来,在现代浏览器中,你不能再关闭通过javascript打开的窗口。因此,如果您不允许在电子邮件中运行javascript,那么您最好的方法是将原始页面重定向到“感谢”页面,并将其悬挂在浏览器的标签中(但不再等待构造)。喜欢这个:
PleaseConfirm.html:
window.name="need_redirected";
Confirm.html:
var w = window.open("","need_redirected"); if (w) w.location="ThankYou.html";
当然,对于旧的IE,我仍然尝试关闭旧窗口在ThankYou.html:
window.top.close();
您仍然可以尝试设置目标,以防万一它可以工作,并且您总是可以尝试将标签上的onclick属性设置为同样的原因:
<a href="confirm.html" target="need_redirected" onclick="window.open('confirm.html','need_redirected');">click here </a>
但这似乎是你能做的最好的。游民。